我知道从存储过程返回标量值的首选方法是使用 RETURN
或 OUTPUT
范围。但是可以说我有一个使用 select 语句返回值的存储过程:
CREATE PROC spReturnNumber AS
SELECT 1
是否可以从另一个存储过程中获取此值?
CREATE PROC spCheckNumber AS
EXEC spReturnNumber -- <-- get the return value here?
澄清:我需要一个不需要使用
OUTPUT
的解决方案参数,或使用 RETURN
返回值。提前致谢。
最佳答案
您可以使用 insert-exec将存储过程的结果存储在表中:
declare @t table (col1 int)
insert @t exec spReturnNumber
return (select col1 from @t)
表的定义必须与存储过程的结果集相匹配。
关于sql - 从存储过程中的 SELECT 语句中获取标量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6641113/