成功または失敗に基づいて2つの結果セットを返すストアドプロシージャがあります。成功または失敗に基づいて結果セットが返される
SP成功の結果セット:名前、ID、エラー、DESC
SPの失敗の結果SRET:エラー、DESC
私は、ストアドプロシージャの結果を取得するには、次のクエリを使用しています。成功の場合は0、失敗の場合は-1を返します。
declare @ret int
DECLARE @tmp TABLE (
name char(70),
id int,
error char(2),
desc varchar(30)
)
insert into @tmp
EXEC @ret = sptest '100','King'
select @ret
select * from @tmp
SPが成功すると、列が一致するので、4つのフィールドが一時テーブルに挿入されます。 しかし、エラーが発生した場合、sp結果セットにはtempテーブルの列が一致しないエラーとdescのみがあります。 。私はSpを変更できませんので、何かする必要があります)を使用して失敗と成功の両方を処理します。