代码之家  ›  专栏  ›  技术社区  ›  Curtis stepd

在S-Proc参数中插入字符串变量

  •  0
  • Curtis stepd  · 技术社区  · 14 年前

    EXEC dbo.sp_Sproc_Name
    @Param1=@ParamValue1
    ,@Param2='lorem ipsum "' + @ParamValue2 + '" dolor'
    

    我得到一个错误:

    Incorrect syntax near '+'.
    

    因此,如何像上面尝试的那样传递一个变量作为参数值的一部分?

    非常感谢。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Cade Roux    14 年前

    不幸的是,T-SQL不允许您以内联方式构建字符串作为参数(文本有某些例外),因此您需要执行以下操作:

    DECLARE @ParamValue2mod AS varchar(whatever)
    SET @ParamValue2mod = 'lorem ipsum "' + @ParamValue2 + '" dolor' 
    
    EXEC dbo.sp_Sproc_Name 
    @Param1=@ParamValue1 
    ,@Param2=@ParamValue2mod