我需要從另一個存儲過程Bar
調用存儲過程Foo
。事情是Foo
返回2記錄集和Bar
我只想分析第一個。一個存儲過程如何從另一個執行結果中讀取第一個記錄集?
我發現很多關於如何處理單個記錄集作爲被調用方存儲過程結果的建議。但沒有多少。
我需要從另一個存儲過程Bar
調用存儲過程Foo
。事情是Foo
返回2記錄集和Bar
我只想分析第一個。一個存儲過程如何從另一個執行結果中讀取第一個記錄集?
我發現很多關於如何處理單個記錄集作爲被調用方存儲過程結果的建議。但沒有多少。
這不能單純的事務SQL來完成,只有當你創建一個CLR存儲過程(AKA,SP .NET編寫)
如果您有機會獲得Foo
- 您可以將參數添加到它,告訴哪個結果集返回。
事情是這樣的僞代碼:
ALTER Procedure dbo.Foo
(
@ResultSetIndicator smallint = 0
)
AS
BEGIN
if (@ResultSetIndicator = 0)
BEGIN
SELECT xxx
END
if (@ResultSetIndicator = 1)
BEGIN
SELECT yyy
END
END
你可能想看看[如何共享存儲過程之間的數據(http://www.sommarskog.se/share_data.html) –
爲了更清楚,這裏有兩個記錄集意味着兩個選擇? – Anil
@Anil是的,兩個'SELECT's。 – Zharro