使用 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)>。