如何使用具有更复杂值的命名参数调用存储过程。这是一个有点炮制的例子:
EXEC MyStoredProc @Param1='My name is: '+@Name
或者:
EXEC MyStoredProc @Param1=CONCAT('My name is: ',@Name)
尝试使用变量@Name连接文字字符串'My name is:'时出错。圆括号没有任何帮助。这是T-SQL的限制(即,当使用命名参数时,等号后的表达式必须是单个文字或变量)?
由于
答案 0 :(得分:5)
单程
declare @Var1 varchar(50)
select @Var1 = 'My name is: '+@Name
EXEC MyStoredProc @Param1=@Var1
功能也是如此
你不能这样做
EXEC MyStoredProc @Param1=getdate()
你需要做
declare @Var1 datetime
select @Var1 = getdate()
EXEC MyStoredProc @Param1=@Var1