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)」を参照してください。