从存储的proc中的SELECT语句中获取标量值

问题描述

您可以使用insert- exec将存储过程的结果存储在表中:

declare @t table (col1 int)
insert @t exec spReturnNumber
return (select col1 from @t)

该表的定义必须与存储过程的结果集匹配。

解决方法

我知道从存储的过程中返回标量值的首选方法是使用RETURNOUTPUT参数。但可以说我有一个存储的proc,它使用select语句返回值:

CREATE PROC spReturnNumber AS

SELECT 1

是否有可能从另一个存储的过程中获取此值?

CREATE PROC spCheckNumber AS

EXEC spReturnNumber -- <-- get the return value here?

澄清: 我需要一个不需要使用OUTPUT参数或使用RETURN返回值的解决方案。

提前致谢。