Utilisation de IF...ELSE
L'instruction IF permet de vérifier si une condition est remplie ou non. Le contrôle de flux qui en résulte varie selon que l'instruction facultative ELSE est spécifiée ou non :
IF spécifié sans ELSE
Si l'instruction IF prend la valeur TRUE, l'instruction ou le bloc d'instructions qui suivent l'instruction IF sont exécutés. Si l'instruction IF prend la valeur FALSE, l'instruction ou le bloc d'instructions qui suivent l'instruction IF sont ignorés.
IF spécifié avec ELSE
Si l'instruction IF prend la valeur TRUE, l'instruction ou le bloc d'instructions qui suivent l'instruction IF sont exécutés. La commande passe ensuite au point situé juste après l'instruction ou le bloc d'instructions qui suivent l'instruction ELSE. Si l'instruction IF prend la valeur FALSE, l'instruction ou le bloc d'instructions qui suivent l'instruction IF ne sont pas exécutés et l'instruction ou le bloc d'instructions qui suivent l'instruction facultative ELSE sont exécutés.
Par exemple, si une procédure stockée a enregistré les codes d'erreur retournés par @@ERROR au cours d'une transaction, elle peut comporter en fin de procédure une instruction IF identique à celle-ci :
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
Pour obtenir d'autres exemples, consultez ELSE (IF...ELSE) (Transact-SQL).