Share via


使用 BEGIN...END

BEGIN 和 END 陳述式是用以將多個 Transact-SQL 陳述式群組成一個邏輯區塊。若有流程控制陳述式必須執行含有二或多個 Transact-SQL 陳述式的區塊,就可以使用 BEGIN 和 END 陳述式。

例如,IF 陳述式控制僅執行一個 Transact-SQL 陳述式的情況時,就不需要使用 BEGIN 或 END 陳述式:

IF (@@ERROR <> 0)
   SET @ErrorSaveVariable = @@ERROR

如果 @@ERROR 為 0,僅跳過一個 SET 陳述式。

當 IF 的評估結果為 FALSE 時,使用 BEGIN 和 END 陳述式能使 IF 陳述式略過陳述式區塊:

IF (@@ERROR <> 0)
BEGIN
   SET @ErrorSaveVariable = @@ERROR
   PRINT 'Error encountered, ' + 
         CAST(@ErrorSaveVariable AS VARCHAR(10))
END

BEGIN 和 END 陳述式必須成對使用,缺一不可。BEGIN 陳述式是自己單獨一行,下方接著 Transact-SQL 陳述式區塊。最後,END 陳述式單獨一行出現,表示區塊結束。

[!附註]

BEGIN 和 END 陳述式區塊必須至少包含一個 Transact-SQL 陳述式。

BEGIN 和 END 陳述式的使用時機為:

  • WHILE 迴圈需要包含陳述式區塊。

  • CASE 運算式的元素需要包含陳述式區塊。

  • IF 或 ELSE 子句需要包含陳述式區塊。