私が直面している問題は、実行中に別のストアドプロシージャ(sp_twoと呼びましょう)を呼び出すストアドプロシージャ(sp_oneと呼びましょう)があることです。
sp_oneの結果セットのみを最後に返し、sp_twoの結果セットは返さないようにします。sp_twoから結果をキャプチャして、それらも返されないようにする方法があると思いますが、このための構文を理解することはできませんでした。
何か案は?
起こっていることの本質を捉えたいくつかの擬似コード(私の実際のコードではありません):
CREATE PROCEDURE sp_two AS
BEGIN
update Users
set is_valid = 0
select * from Users
END
CREATE PROCEDURE sp_one
AS
BEGIN
exec sp_two
select * from Users
END
exec sp_one
exec sp_oneを実行した結果は、sp_twoの結果セットであり、次にsp_oneの結果です。(例:usersテーブルを2回)。