Bonjour,

Je souhaiterai faire une recherche de mot clés dans mon champs "Type" afin d'afficher dans une autre colonne "Type_Desc" le mot VOITURE si un des termes est trouvés. Je "complique" ensuite la requête si le mot est trouvé en vérifiant qu'il y a bien tel mot ou tel mot dans le champs Reference

Je pensais faire la requête suivante mais je m'apercois qu'une erreur est générée du fait de l'utilisation de CONTAINS :

La requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
UPDATE TEMP SET Type_Desc =
(CASE 
	WHEN (	((Type)='VT' AND CONTAINS (Reference, '%CLIO% OR %mégane% OR %Ferrari% OR %golf% OR %Golf% OR %GOLF%'))
		OR	((Type)='VHQ' AND CONTAINS (Reference, '%CLIO% OR %mégane% OR %Ferrari% OR %golf% OR %Golf% OR %GOLF%'))
		OR	((Type)='VEHICULE' AND CONTAINS (Reference, '%CLIO% OR %mégane% OR %Ferrari% OR %golf% OR %Golf% OR %GOLF%'))
		OR  (Type)='A'  
		OR	(Type)='4' ) 
	THEN 'VOITURE'
	ELSE 'MOTO'
END
)
J'ai le message d'erreur suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Impossible d'utiliser le prédicat CONTAINS ou FREETEXT sur table ou vue indexée 'TEMP', car il n'y a pas d'index de texte intégral.
J'ai du coup chercher un peu et je suis tombé la dessus pour SQL Server 2005: http://labs.bewise.fr/Article/Mise-e...L-Server-2005/

Seulement je me demande si c'est bien cette solution que je dois adopter et adapter pour ma base SQL Server 2008 ?
Ou il y a t-il d'autre solution ? Je pourrais utiliser le LIKE dans ma requête mais je suis obligé de préciser à chaque fois la colonne...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
(Reference) LIKE %CLIO% OR (Reference) LIKE %Clio%  OR (Reference) LIKE...
Voila, merci de votre aide

Cordialement bibouex