可能重複:
When do I need to use Begin/End Blocks and the Go keyword in SQL Server?在存儲過程中是否需要BEGIN/END關鍵字?
例子:
CREATE PROCEDURE DoSomething
AS
BEGIN
SET NOCOUNT ON;
-- Insert lots of statements in here, including other stored procedures.
END
你需要BEGIN和END?如果你有或沒有,它會有什麼不同嗎?
試過了嗎?你找到什麼不同? – nawfal
如果我在「BEGIN」中有多個語句....如果其中一個發生「異常」,我會得到一個錯誤。它會繼續執行其他代碼行還是會退出「BEGIN?」 – Testifier
否,它會將該批處理的其餘部分作爲存儲的proc定義進行計數(即使在存在'BEGIN ... END'時也是'END'後面)。所以很容易在那裏不經意地留下一個遞歸的'EXEC'調用! –