我有2個存儲過程usp_SP1和usp_SP2。它們都使用插入#tt exec sp_somesp。我想創建一個第三存儲過程,它將決定哪個存儲過程要調用。喜歡的東西:嵌套插入exec工作
create proc usp_Decision
(
@value int
)
as
begin
if (@value = 1)
exec usp_SP1 -- this proc already has insert into #tt exec usp_somestoredproc
else
exec usp_SP2 -- this proc too has insert into #tt exec usp_somestoredproc
end
後來,我意識到我需要從usp_Decision的返回值定義的,這樣我可以填充SSRS數據集領域的一些結構。因此,這裏是我的嘗試:
在usp_Decision創建一個臨時表,並做「插入#tt EXEC usp_SP1」。這沒有奏效。錯誤「插入exec不能嵌套」
在usp_Decision中試圖將表變量傳遞給每個存儲過程,並更新存儲過程中的表並執行「select * from」。那也沒有成功。作爲參數傳遞的表變量不能在存儲過程中修改。
請建議可以做些什麼。
INSERT EXEC的破碎是我對SQL Server最大的寵兒之一。請投票! https://connect.microsoft.com/SQLServer/feedback/details/294571/improve-insert-exec – 2011-12-24 02:52:36