将存储过程返回值存储在变量中

时间:2015-04-17 08:42:31

标签: sql sql-server

我对SQL比较新,我试图将存储过程的返回值存储在变量中。但是我收到了语法错误:

SET @MYVARIABLE = (EXEC [SP_MYSTOREDPROC] @PARAMETER1)

错误说明:

Incorrect syntax near keyword 'EXEC'

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

运行exec sp_helptext 'SP_MYSTOREDPROC'

检查是否存在带有OUTPUT子句的变量,然后您需要执行此过程,例如

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