BEGIN...END の使用
BEGIN ステートメントと END ステートメントは、複数の Transact-SQL ステートメントを 1 つの論理ブロックにグループ化するときに使用します。BEGIN ステートメントと END ステートメントは、流れ制御ステートメント内で複数の Transact-SQL ステートメントから構成されるブロックを実行する場合に使用します。
たとえば、IF ステートメントで実行を制御する Transact-SQL ステートメントが 1 つだけの場合、BEGIN ステートメントと END ステートメントは不要です。
IF (@@ERROR <> 0)
SET @ErrorSaveVariable = @@ERROR
@@ERROR が 0 の場合は、SET ステートメントが 1 つだけジャンプされます。
BEGIN ステートメントと END ステートメントは、IF ステートメントの評価が FALSE の場合に IF ステートメントがステートメント ブロックをスキップするように設定するときに使用します。
IF (@@ERROR <> 0)
BEGIN
SET @ErrorSaveVariable = @@ERROR
PRINT 'Error encountered, ' +
CAST(@ErrorSaveVariable AS VARCHAR(10))
END
BEGIN ステートメントと END ステートメントは、一組のペアとして使用する必要があります。一方のみを使用することはできません。BEGIN ステートメントが 1 行に単独で出現し、その後に Transact-SQL ステートメント ブロックが続きます。最後の行に END ステートメントが単独で出現し、ブロックの終わりを示します。
![]() |
---|
BEGIN ステートメント ブロックと END ステートメント ブロックには、少なくとも 1 つの Transact-SQL ステートメントを含める必要があります。 |
次の場合に BEGIN ステートメントと END ステートメントを使用します。
WHILE ループにステートメント ブロックを含める必要がある場合
CASE 式の要素にステートメント ブロックを含める必要がある場合
IF 句または ELSE 句にステートメント ブロックを含める必要がある場合