sql - 从存储过程中的 SELECT 语句中获取标量值

标签 sql sql-server stored-procedures

我知道从存储过程返回标量值的首选方法是使用 RETURNOUTPUT范围。但是可以说我有一个使用 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/

相关文章:

c# - 如何首先通过EF代码从存储过程中检索输出参数

mysql - 如何根据另一列的值获得一列的平均值?

SQL查询子表汇总和泛化

mysql - 使用存储过程插入和更新

MySQL获取受影响行的行id并在更新后再次更新它们

c# - 显示 ConnectionString 对话框

sql - 分层查询 : from dual is ok, 但来自物理表的是 "ORA-01436"

sql - 如何通过 SQL Server 上的数据库名称获取所有数据库的索引名称

sql - 如何在python中实现where子句

sql - 将 mysql 数据库转换为 sqlite 数据库的最佳方法是什么?