T-SQL选择存储过程返回的值

T-SQL选择存储过程返回的值,sql,tsql,sql-server-2012,Sql,Tsql,Sql Server 2012,我正在调用当前存储过程中的一个存储过程,它返回3条SELECT语句 我只需要第一个选择 我怎样才能做到这一点?我是T-SQL的新手,在C语言中,我只会得到这些变量,但SQL不是这样工作的 有可能得到它返回的值吗?我有三种可能: 1在没有最后2个选择的情况下创建新的存储过程 2将可选参数传递给存储的进程,以指示最后2次选择是否应运行。如果未传递参数,则默认情况下将运行选择 3不是一个优雅的解决方案,但这可能符合您的目的: 在第二个存储过程中,将第一个SELECT输出到全局临时表中,然后从该临时表中

我正在调用当前存储过程中的一个存储过程,它返回3条SELECT语句

我只需要第一个选择

我怎样才能做到这一点?我是T-SQL的新手,在C语言中,我只会得到这些变量,但SQL不是这样工作的


有可能得到它返回的值吗?

我有三种可能:

1在没有最后2个选择的情况下创建新的存储过程

2将可选参数传递给存储的进程,以指示最后2次选择是否应运行。如果未传递参数,则默认情况下将运行选择

3不是一个优雅的解决方案,但这可能符合您的目的: 在第二个存储过程中,将第一个SELECT输出到全局临时表中,然后从该临时表中选择*。这将使使用存储过程的任何其他内容都保持不变

在第一个存储过程中,在调用第二个存储过程后,从临时表中选择*。这将为您提供所需的结果。在第一个存储过程结束时,删除全局临时表

一些警告: 如果有几个人同时访问存储的进程,那么这对单个全局临时表不起作用-您必须找出某种命名约定,以便每个用户都可以使用自己的单独表


如果结果集中有大量数据,您的tempdb数据库将不会满意。

请发布您的代码。我最喜欢选项2的可能重复项,如果您对第一个选择项进行更改,则两个版本都会出现这种情况。