Conséquences si ARITHABORT et ARITHIGNORE ont pour valeur ON
Si les options de traitement de requête ARITHABORT et ARITHIGNORE ont pour valeur ON, ARITHABORT est prioritaire.
ARITHABORT et ARITHIGNORE sont deux options distinctes ; l'activation de l'une d'elles n'entraîne pas automatiquement la désactivation de l'autre. Par exemple, si une application contient les instructions suivantes, les deux options sont activées :
SET ARITHABORT ON
SET ARITHIGNORE ON
GO
Lorsqu'une instruction SET est exécutée dans une procédure stockée, les nouveaux paramètres sont actifs seulement jusqu'à la fin de la procédure. Lorsque la procédure est terminée, les paramètres de connexion pour cette option reprennent les valeurs qu'ils avaient avant l'exécution de la procédure.
Effet du paramètre ANSI_WARNINGS
Le paramètre ANSI_WARNINGS affecte le comportement du processeur de requêtes indépendamment des paramètres en cours de ARITHABORT et ARITHIGNORE.
Par exemple, si SET ARITHABORT ou SET ARITHIGNORE a pour valeur OFF et que SET ANSI_WARNINGS a pour valeur ON, Microsoft SQL Server retourne toujours un message d'erreur lorsqu'il rencontre une erreur de division par zéro ou de dépassement.
Le tableau suivant résume les comportements.
ARITHABORT |
ANSI_WARNINGS |
Comportement |
---|---|---|
ON |
ON |
Abandonner l'instruction seulement |
ON |
OFF |
Abandonner le traitement |
OFF |
ON |
Abandonner l'instruction seulement |
OFF |
OFF |
Continuer ; la valeur est NULL |
Voir aussi