Share via


IF...ELSE の使用

IF ステートメントは条件を検証するときに使用します。このステートメントの制御の流れは、省略可能な ELSE ステートメントが指定されているかどうかによって異なります。

  • ELSE が指定されていない場合

    IF ステートメントの評価が TRUE の場合は、IF ステートメントに続くステートメントまたはステートメント ブロックが実行されます。IF ステートメントの評価が FALSE の場合は、IF ステートメントに続くステートメントまたはステートメント ブロックはスキップされます。

  • ELSE が指定されている場合

    IF ステートメントの評価が TRUE の場合は、IF ステートメントに続くステートメントまたはステートメント ブロックが実行されます。その後、制御は、ELSE ステートメントに続くステートメントまたはステートメント ブロックの次のポイントにジャンプします。IF ステートメントの評価が FALSE の場合は、IF ステートメントに続くステートメントまたはステートメント ブロックがスキップされ、ELSE ステートメントに続くステートメントまたはステートメント ブロックが実行されます。

たとえば、トランザクション中に @@ERROR から返されたエラー コードを保存しているストアド プロシージャで、プロシージャの終わりには次のような IF ステートメントを使用できます。

IF (@ErrorSaveVariable <> 0)
BEGIN
   PRINT 'Errors encountered, rolling back.'
   PRINT 'Last error encountered: ' +
      CAST(@ErrorSaveVariable AS VARCHAR(10))
   ROLLBACK
END
ELSE
BEGIN
   PRINT 'No Errors encountered, committing.'
   COMMIT
END
RETURN @ErrorSaveVariable

その他の例については、「ELSE (IF...ELSE) (Transact-SQL)」を参照してください。

関連項目

参照