Partager via


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