问题描述
您可以使用insert- exec将存储过程的结果存储在表中:
declare @t table (col1 int)
insert @t exec spReturnNumber
return (select col1 from @t)
该表的定义必须与存储过程的结果集匹配。
解决方法
我知道从存储的过程中返回标量值的首选方法是使用RETURN
或OUTPUT
参数。但可以说我有一个存储的proc,它使用select语句返回值:
CREATE PROC spReturnNumber AS
SELECT 1
是否有可能从另一个存储的过程中获取此值?
CREATE PROC spCheckNumber AS
EXEC spReturnNumber -- <-- get the return value here?
澄清: 我需要一个不需要使用OUTPUT
参数或使用RETURN
返回值的解决方案。
提前致谢。