我面臨的問題是我有一個存儲過程(讓它稱爲sp_one),它在運行過程中調用另一個存儲過程(讓它稱爲sp_two)。如何防止SQL返回多個結果集
我只想從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結果。 (例如用戶表格兩次)。
你從任何地方撥打sp_two其他呢?你需要在sp_2中擁有來自用戶的select *嗎?否則爲什麼不能讓更新用戶在sp_1中設置is_valid = 0? –
嗨丹尼爾,不幸的是我們這樣做 - 上面的例子是過度簡化,我保證sp_two真的非常有用。 – Irfy