BEGIN...END (Transact-SQL)

Transact-SQL ステートメントのグループを実行できるように、一連の Transact-SQL ステートメントを囲みます。 BEGIN と END はフロー制御言語のキーワードです。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

BEGIN
     { 
    sql_statement | statement_block 
     } 
END

引数

  • { sql_statement| statement_block }
    有効な 1 つの 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)