SET ARITHIGNORE (Transact-SQL)

Détermine si un message d'erreur est renvoyé lorsqu'une erreur de division par zéro ou de dépassement de capacité se produit durant une requête.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

SET ARITHIGNORE { ON | OFF }
[ ; ]

Notes

Le paramètre SET ARITHIGNORE contrôle uniquement la situation où un message d'erreur est renvoyé. SQL Server renvoie une valeur NULL dans un calcul qui comprend une erreur de dépassement de capacité ou de division par zéro, indépendamment de ce paramètre. Le paramètre SET ARITHABORT peut être utilisée pour déterminer si la requête est achevée. Cette valeur n'affecte pas les erreurs survenant durant des instructions INSERT, UPDATE et DELETE.

Si SET ARITHABORT ou SET ARITHIGNORE possède la valeur OFF et que SET ANSI_WARNINGS possède la valeur ON, SQL Server renvoie néanmoins un message d'erreur lorsqu'il rencontre une erreur de division par zéro ou de dépassement de capacité.

L'option SET ARITHIGNORE est définie lors de l'exécution, et non pas durant l'analyse.

Autorisations

Nécessite l'appartenance au rôle public.

Exemples

L'exemple suivant montre comment utiliser les paramètres SET ARITHIGNORE avec les deux types d'erreurs de requête.

SET ARITHABORT OFF;
SET ANSI_WARNINGS OFF
GO

PRINT 'Setting ARITHIGNORE ON';
GO
-- SET ARITHIGNORE ON and testing.
SET ARITHIGNORE ON;
GO
SELECT 1 / 0 AS DivideByZero;
GO
SELECT CAST(256 AS TINYINT) AS Overflow;
GO

PRINT 'Setting ARITHIGNORE OFF';
GO
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
GO
SELECT 1 / 0 AS DivideByZero;
GO
SELECT CAST(256 AS TINYINT) AS Overflow;
GO