J'ai une requête qui fonctionnait bien sur SQL2005 mais le déplacement de la base de données vers SQL2008 me donne l'erreur du titre.7645 Prédicat plein texte vide ou vide
Le code qui constitue le problème est un appel à CONTAINS, CONTAINSTABLE ou FREETEXT avec un paramètre vide. Cependant, je suis en train de seulement appel ou rejoindre quand il y a une valeur comme telle
where (@search_term = '' or (FREETEXT(lst.search_text, @search_term)))
ou
left join containstable (listing_search_text, search_text, @search_term) ftb on l.listing_id = ftb.[key]
and len(@search_term) > 0
Cependant, je ne peux trouver aucune solution de contournement pour que cela fonctionne sur SQL2008. Des idées?
Je sais que je peux faire SQL dynamique ou une instruction if avec deux cas différents (sélectionner avec FT JOIN, sélectionnez sans FT joindre. Toute meilleure solution qui ne nécessite pas le faire?
Merci Chris, qui a fixé le! –
Merci l'homme ... vous avez sauvé mes HEURES! Bonne journée; – effkay
(@SearchTerm = '""') le prédicat ajoute une quantité extrême de lectures et les temps d'attente de requête occasionnellement (comme indiqué par Whiplashtony) –