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

时间:2014-04-22 21:26:39

标签: sql tsql sql-server-2012

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

我只需要第一个SELECT

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

是否可以获得它返回的值?

1 个答案:

答案 0 :(得分:1)

我有3种可能性:

1)制作一个没有最后2个sSELECT的新存储过程。

2)将可选参数传递给存储过程,以指示最后2个SELECT是否应该运行。 (如果未传递参数,则默认情况下将运行SELECT。)

3)不是一个优雅的解决方案,但可能适用于您的目的: 在第二个存储过程中,将第一个SELECT输出到全局临时表,然后从该临时表输出SELECT *。 (这将使用存储过程保持所有其他内容相同。)

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

一些警告: 如果你有几个人一次点击存储过程,这对单个全局临时表不起作用 - 你必须弄清楚某种命名约定,这样每个用户都可以得到自己独立的表。< / p>

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