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)
IF...ELSE (Transact-SQL)