共用方式為


使用 IF...ELSE

IF 陳述式可用來測試條件。控制項產生的流程則視是否指定選擇性 ELSE 陳述式而定:

  • 未指定 ELSE 的 IF 陳述式
    IF 陳述式的評估結果為 TRUE 時,則繼續執行 IF 下方的陳述式或陳述式區塊。IF 陳述式評估的結果為 FALSE 時,則略過 IF 陳述式下方的陳述式或陳述式區塊。
  • 指定 ELSE 的IF 陳述式
    IF 陳述式評估的結果為 TRUE 時,則繼續執行 IF 陳述式下方的陳述式或陳述式區塊。接下來控制跳躍點 (Jump) 到 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 協助