是否可以在忽略SELECT语句的情况下执行具有输出参数的T-SQL存储过程?

时间:2011-05-23 23:21:01

标签: tsql

我从另一个调用一个存储过程,我调用的过程有一个输出参数。然后我将输出值传递给局部变量。这一切都很好,但问题是这个过程中还有一个select语句,所以当我exec时,程序的结果将在最终结果集中返回。

有没有办法简单地获取输出参数的值,并忽略其他所有内容?

2 个答案:

答案 0 :(得分:6)

虽然技术上是,但你不应该这样做。引擎消耗资源以生成您忽略的结果集。您还可能产生不必要的争用。如果您不需要结果集,则需要另一个只能生成所需输出的过程。

答案 1 :(得分:4)

我确信这样做有一些技巧 - 但是脑海中出现的明显解决方案是:

INSERT INTO #my_rubbish_temp_table_that_i_CREATEd_earlier
  EXEC dbo.mySproc @a, @b, @c OUTPUT

......根据Remus的回应,这是浪费CPU,I / O等。

如果你可以在存储过程中添加一个允许抑制结果集的附加参数,那就太棒了。