本文件已封存並已停止維護。

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 AdventureWorks;
GO
BEGIN TRANSACTION;
GO
IF @@TRANCOUNT = 0
BEGIN
SELECT * from Person.Contact 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 tranaction.
*/
顯示: