次の方法で共有


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)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手