Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Point de terminaison d’analytique SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
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.
Conventions de la syntaxe Transact-SQL
Syntaxe
-- Syntax for SQL Server and Azure SQL Database and Microsoft Fabric
SET ARITHIGNORE { ON | OFF }
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse
SET ARITHIGNORE OFF
Notes
Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.
Notes
Le SET ARITHIGNORE paramètre ne contrôle que le retour d’un message d’erreur. SQL Server retourne 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 SETSET ARITHABORT paramètre peut être utilisé pour déterminer si la requête est terminée. Ce paramètre n’affecte pas les erreurs survenant pendant INSERT, UPDATE, et DELETE les instructions.
Si l’un ouSET ARITHABORTSETl’autre SET ARITHIGNORE est DÉSACTIVÉ et SETSET ANSI_WARNINGS est ACTIVÉ, SQL Server renvoie toujours un message d’erreur lors de la rencontre d’erreurs de division par zéro ou de dépassement.
Le paramètre est défini au moment de SET ARITHIGNORE l’exécution ou de l’exécution et non au moment de l’analyse.
Pour afficher la valeur actuelle de ce paramètre, exécutez la requête suivante.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Autorisations
Nécessite l'appartenance au rôle public.
Exemples
L'exemple suivant illustre l'utilisation des paramètres SET ARITHIGNORE avec les deux types d'erreur survenant dans une 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
Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)
L’exemple suivant illustre les erreurs de dépassement et de division par zéro. Cet exemple ne renvoie pas de message d’erreur pour ces erreurs car ARITHIGNORE est OFF.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;
Voir aussi
SET Instructions (Transact-SQL)
SET
SET ARITHABORT (Transact-SQL)