我想知道,有什麼辦法可以通過我一次執行我所有的存儲過程。 目前我正在使用exec "Stored Procedure name"
命令執行每個存儲過程。 而且我有超過200個存儲過程在我的數據庫上執行。如何一次執行多個存儲過程?
是否有任何簡單的方法可以一次執行所有這些存儲過程,因爲我很難跟蹤它們?
我想知道,有什麼辦法可以通過我一次執行我所有的存儲過程。 目前我正在使用exec "Stored Procedure name"
命令執行每個存儲過程。 而且我有超過200個存儲過程在我的數據庫上執行。如何一次執行多個存儲過程?
是否有任何簡單的方法可以一次執行所有這些存儲過程,因爲我很難跟蹤它們?
我建議你寫一個存儲過程,調用其他的。
把一個存儲過程中的所有存儲過程,
CREATE PROCEDURE CallAllProcedure
AS
BEGIN
CALL Proc1
CALL Proc2
END
假設你正在使用查詢分析器,只是把GO在所有這些存儲過程和運行腳本之間。
您可以從sys.objects表中查詢所有存儲過程名稱,查詢type ='P'。您可以使用遊標執行每個存儲過程名稱。但如何使用參數存儲過程?您還必須提供參數值以避免錯誤。
如果您想要並行執行它們,您可以創建一個SQLJob並將它們全部安排在同一時間執行。以下鏈接是SQL作業的一般用法。
您可以使用服務代理來做到這一點異步,但我不認爲這是一個偉大的想法在同一時間運行200倍存儲的特效,除非你確信不會有任何競爭的DB
如何等待Proc1的結束,然後啓動Proc2? – cihata87