2012-10-07 69 views
2

我想知道,有什麼辦法可以通過我一次執行我所有的存儲過程。 目前我正在使用exec "Stored Procedure name"命令執行每個存儲過程。 而且我有超過200個存儲過程在我的數據庫上執行。如何一次執行多個存儲過程?

是否有任何簡單的方法可以一次執行所有這些存儲過程,因爲我很難跟蹤它們?

回答

5

我建議你寫一個存儲過程,調用其他的。

3

把一個存儲過程中的所有存儲過程,

CREATE PROCEDURE CallAllProcedure 
AS 
BEGIN 
    CALL Proc1 
    CALL Proc2 
END 
+0

如何等待Proc1的結束,然後啓動Proc2? – cihata87

3

假設你正在使用查詢分析器,只是把GO在所有這些存儲過程和運行腳本之間。

0

您可以從sys.objects表中查詢所有存儲過程名稱,查詢type ='P'。您可以使用遊標執行每個存儲過程名稱。但如何使用參數存儲過程?您還必須提供參數值以避免錯誤。

0

您可以使用服務代理來做到這一點異步,但我不認爲這是一個偉大的想法在同一時間運行200倍存儲的特效,除非你確信不會有任何競爭的DB