Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
Siehe auch
Andere Ressourcen
ELSE (IF...ELSE) (Transact-SQL)
IF...ELSE (Transact-SQL)