我对SQL比较新,我试图将存储过程的返回值存储在变量中。但是我收到了语法错误:
SET @MYVARIABLE = (EXEC [SP_MYSTOREDPROC] @PARAMETER1)
错误说明:
Incorrect syntax near keyword 'EXEC'
有什么想法吗?
答案 0 :(得分:3)
运行exec sp_helptext 'SP_MYSTOREDPROC'
检查是否存在带有OUTPUT
子句的变量,然后您需要执行此过程,例如
DECLARE @MYVARIABLE [DataType]
EXEC [SP_MYSTOREDPROC] @PARAMETER1, @MYVARIABLE OUTPUT
如果没有任何带有OUTPUT关键字的变量,那么此过程将返回值,您将执行类似
的操作DECLARE @MYVARIABLE [INT] --<-- Return Param are always INT type
EXEC @MYVARIABLE = [SP_MYSTOREDPROC] @PARAMETER1
答案 1 :(得分:2)
你需要执行这样的程序
DECLARE @MYVARIABLE INT
EXEC @MYVARIABLE = [SP_MYSTOREDPROC] @PARAMETER1