2013-06-05 53 views
1

我有一系列使用相同變量的存儲過程。我希望每個存儲過程在進入下一個存儲過程之前完全執行。我在每個過程的最後添加了一個GO語句,但是我不想在每次運行後重新聲明變量。有沒有辦法在GO之後循環回變量,然後選取序列中的下一個proc?下面是引用的代碼示例:在SQL Server中執行多個過程而不必重新聲明變量

DECLARE @depType AS VARCHAR(20) 
SET @deptype='X' 

EXEC [Stored_Procedure1], @deptype 
GO 

EXEC [Stored_Procedure2], @deptype 
GO 

EXEC [Stored_Procedure3], @deptype 
GO 
+0

是什麼讓你覺得他們會並行運行?他們連續執行 –

回答

2

就離開了GO聲明:

DECLARE @depType AS VARCHAR(20); 
SET @deptype='X'; 

EXEC [Stored_Procedure1], @deptype; 

EXEC [Stored_Procedure2], @deptype; 

EXEC [Stored_Procedure3], @deptype; 

他們定義批次和變量僅一個批次中定義。

+0

謝謝,戈登,但我實際上需要程序才能成功完成,而不必轉到下一個程序。我的假設是隻有當你包含GO時纔會發生。情況並非如此嗎? – user2456128

0

會做

GO TO; -- Stored_Procedure1 EXEC [Stored_Procedure1], @deptype;

幫助呢?

相關問題