Verwenden von IF...ELSE
Die IF-Anweisung wird verwendet, um auf eine bestimmten Bedingung zu testen. Die sich ergebende Ablaufsteuerung hängt davon ab, ob die optionale ELSE-Anweisung angegeben wird:
IF ohne ELSE angegeben
Wenn die Bedingung in der IF-Anweisung zu TRUE ausgewertet wird, wird die Anweisung oder der Block von Anweisungen nach der IF-Anweisung ausgeführt. Wenn die Bedingung in der IF-Anweisung FALSE ergibt, wird die Anweisung oder der Block von Anweisungen nach der IF-Anweisung ausgelassen.
IF mit ELSE angegeben
Wenn die Bedingung in der IF-Anweisung TRUE ergibt, wird die Anweisung oder der Block von Anweisungen nach der IF-Anweisung ausgeführt. Die Ablaufsteuerung springt dann an die Stelle nach der Anweisung oder dem Block von Anweisungen nach der ELSE-Anweisung. Wenn die Bedingung in der IF-Anweisung FALSE ergibt, wird die Anweisung oder der Block von Anweisungen nach der IF-Anweisung ausgelassen, und die Anweisung oder der Block von Anweisungen nach der optionalen ELSE-Anweisung wird ausgeführt.
Wenn z. B. eine gespeicherte Prozedur ggf. die von @@ERROR während einer Transaktion zurückgegebenen Fehlercodes gespeichert hat, enthält sie möglicherweise eine IF-Anweisung am Ende der Prozedur, die etwa so aussieht:
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
Weitere Beispiele finden Sie unter ELSE (IF...ELSE) (Transact-SQL).