1

次のような複数の結果セットを返すストアド プロシージャがあります。

ALTER PROCEDURE sp_XXXX 
(
    XXXXXX
)
AS
SET NOCOUNT ON

SELECT XXXXXXX    


IF @@ROWCOUNT = 0
    SELECT     XXXXXXX



RETURN

レポートにデータがある場合は最初の結果セットを使用し、最初の結果セットが空の場合は 2 番目の結果セットを使用するようにします。何か助けはありますか?

4

1 に答える 1

1

sproc で、2 つの結果セットを「すべて結合」します。それらを区別する必要がある場合は、元の結果セットを示す派生列を追加します。

select 'ds1' as dataset, *
from table1
union all
select 'ds2' as dataset, *
from table2

別の試み

結果セット 1 を一時テーブルにダンプし、空の場合にのみ 2 番目のクエリを実行します。

擬似コード:

select * into #tempResult 
from table 1

if table1 is empty 

select * from table2
于 2009-02-19T21:25:33.060 に答える