2012-09-12 2 views
2

voici ma procédure stockée.SQL Server 2008 procédure stockée, ne peut pas utiliser la variable dans guillemet simple

ALTER PROCEDURE [dbo].[SearchIngredients] 
    @Term NVARCHAR(50) 
AS 
BEGIN 
    SET NOCOUNT ON; 

    SELECT * 
    FROM dbo.FoodAbbrev 
    WHERE Name LIKE '%@Term%' 
    ORDER BY Name 

END 

J'ai continué à obtenir aucun résultat. Je pense que c'est parce que je mets le varaible dans la citation unique et probablement DB pense que cela fait partie de la chaîne, pas une variable. essayé d'autres façons, ne peut toujours pas le réparer, s'il vous plaît aidez-moi.

J'ai également essayé. toujours rien récupérer.

SET @Term = '''%' + @Term + '%''' 

    SELECT * 
    FROM dbo.FoodAbbrev 
    WHERE Name LIKE @Term 
    ORDER BY Name 

Répondre

6

Simplement;

set @Term = '%' + @Term + '%' 

Vous venez d'ajouter 2 chaînes de caractères constantes à une variable.

+0

Merci beaucoup. ça marche. – qinking126

0

Manière correcte est la suivante:

set @FieldValue = '''' + @FieldValue + '''' 
Questions connexes