次の方法で共有


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 句にステートメント ブロックを含める必要がある場合