我正在使用EXECUTE SP_EXECUTESQL
从另一个存储过程调用存储过程但我收到错误。我之前没有尝试过,所以我不知道出了什么问题。
此处SPGetServiceState
为SP,@Id(IN), @Return_State(OUT), @Return_Execute_Date(OUT)
是传递所需的参数,@Request_Id
需要传递ID。
EXECUTE SP_EXECUTESQL N'SPGetServiceState', N'@Id int,
@Return_State tinyint, @Return_Execute_Date smalldatetime',
@Id = @Request_Id, @Return_State = 0, @Return_Execute_Date = NULL
答案 0 :(得分:1)
除非从变量中检索存储过程的名称,否则不需要动态SQL。你可以:
exec dbo.SPGetServiceState(@Id, @Return_State output, @Return_Execute_Date output);
别忘了output
说明符。没有它,该参数将被视为输入参数。