Share via


BEGIN...END (Transact-SQL)

含括一系列的 Transact-SQL 陳述式,以便執行一組 Transact-SQL 陳述式。 BEGIN 和 END 是流程控制語言關鍵字。

主題連結圖示 Transact-SQL 語法慣例

語法

BEGIN
     { 
    sql_statement | statement_block 
     } 
END

引數

  • { sql_statement| statement_block }
    這是藉由使用陳述式區塊加以定義的任何有效 Transact-SQL 陳述式或陳述式分組。

備註

BEGIN...END 區塊可以有巢狀結構。

雖然 BEGIN...END 區塊中所有的 Transact-SQL 陳述式都是有效的陳述式,但某些 Transact-SQL 陳述式不應在同一批次或陳述式區塊中分成一組。

範例

在下列範例中,BEGIN 和 END 會定義一系列同時執行的 Transact-SQL 陳述式。 如果沒有 BEGIN...END 區塊,這兩個 ROLLBACK TRANSACTION 陳述式都要執行,而且都會傳回這兩個 PRINT 訊息。

USE AdventureWorks2012;
GO
BEGIN TRANSACTION;
GO
IF @@TRANCOUNT = 0
BEGIN
    SELECT FirstName, MiddleName 
    FROM Person.Person WHERE LastName = 'Adams';
    ROLLBACK TRANSACTION;
    PRINT N'Rolling back the transaction two times would cause an error.';
END;
ROLLBACK TRANSACTION;
PRINT N'Rolled back the transaction.';
GO
/*
Rolled back the transaction.
*/

請參閱

參考

ALTER TRIGGER (Transact-SQL)

流程控制語言 (Transact-SQL)

CREATE TRIGGER (Transact-SQL)

END (BEGIN...END) (Transact-SQL)