problème constainstable et procédure stockée
Bonjour
J'ai un problème avec le paramètre et constainstable dans un proc quand le paramètre contient plusieurs mots "pompe à chaleur" par exemple.
il faut les ", j'utilise la fonction quotename sur le paramètre.
Ca marche.
mais quand j'ai voulu utiliser la forme canonique FORMSOF (INFLECTIONAL, @variable) ça me ressort tous les enregistrements
Où placer les ' et les ", je tourne en rond.
Dans l'analyseur de requète
Code:
1 2 3 4 5 6 7 8 9 10
| Select top 100 percent * from vste_recherche_complet
where (idste in
(
SELECT ste.idste
FROM STEPRODUITS AS STE INNER JOIN
CONTAINSTABLE (STEPRODUITS, *,
'FORMSOF (INFLECTIONAL,"pompes à chaleur" )' , 20
) AS KEY_TBL
ON STE.IDSTE = KEY_TBL.[KEY]
) |
marche mais
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| CREATE procedure [dbo].[sprech_
@recherche varchar(256),
@nbr int=20
AS
declare @@recherche varchar(256)
select @@recherche=quotename(@recherche,'"')
Select top 100 percent * from vuecomplet
where (idste in
(
SELECT ste.idste
FROM STEPRODUITS AS STE INNER JOIN
CONTAINSTABLE (STEPRODUITS, *,
'FORMSOF (INFLECTIONAL,@@recherche )',@nbr ) AS KEY_TBL
ON STE.IDSTE = KEY_TBL.[KEY]
) |
me retourne n'importe quoi.
si quelqu'un peut me donner un conseil il sera le bienvenu.
dm