次のような複数の結果セットを返すストアド プロシージャがあります。
ALTER PROCEDURE sp_XXXX
(
XXXXXX
)
AS
SET NOCOUNT ON
SELECT XXXXXXX
IF @@ROWCOUNT = 0
SELECT XXXXXXX
RETURN
レポートにデータがある場合は最初の結果セットを使用し、最初の結果セットが空の場合は 2 番目の結果セットを使用するようにします。何か助けはありますか?
次のような複数の結果セットを返すストアド プロシージャがあります。
ALTER PROCEDURE sp_XXXX
(
XXXXXX
)
AS
SET NOCOUNT ON
SELECT XXXXXXX
IF @@ROWCOUNT = 0
SELECT XXXXXXX
RETURN
レポートにデータがある場合は最初の結果セットを使用し、最初の結果セットが空の場合は 2 番目の結果セットを使用するようにします。何か助けはありますか?
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