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
Le SET ARITHIGNORE paramètre détermine si la requête renvoie des messages d’erreur pour le débordement arithmétique ou pour les erreurs de division par zéro. Le SET ARITHIGNORE ON paramètre supprime les messages « Division par zéro survenue » ou « Débordement arithmétique survenu ».
Conventions de la syntaxe Transact-SQL
Syntaxe
Syntaxe pour SQL Server, Azure SQL Database, Microsoft Fabric Data Warehouse, SQL dans Microsoft Fabric
SET ARITHIGNORE { ON | OFF }
Syntaxe pour Azure Synapse Analytics et Analytics Platform System (PDW)
SET ARITHIGNORE OFF
Notes
- Si et sont tous deux
SET ARITHABORTet qu’une erreur arithmétique survient, un message d’avertissement apparaît lorsqueSET ARITHIGNOREestOFF, et le résultat de l’opération arithmétique estNULL.OFFSET ANSI_WARNINGS - Si et sont tous deux
SET ARITHABORTet qu’une erreur arithmétique survient, un message d’avertissement n’apparaît pas siSET ARITHIGNOREestON, et le résultat de l’opération arithmétique estNULL.OFFSET ANSI_WARNINGS
Ce ARITHIGNORE paramètre ne contrôle que si la requête renvoie un message d’erreur. Le SQL Moteur de base de données renvoie NULL un calcul impliquant un débordement ou une erreur de division par zéro, quel que soit ce paramètre. Ce paramètre n’affecte pas les erreurs qui surviennent pendant INSERT, UPDATE, et DELETE les instructions.
Si SET ARITHABORT ou SET ARITHIGNORE est OFF, et SET ANSI_WARNINGS est ON, la requête renvoie toujours un message d’erreur lorsqu’elle rencontre des erreurs de division par zéro ou de dépassement. Lorsque ANSI_WARNINGS est ON (le réglage par défaut), le paramètre de ARITHABORT n’a aucun effet fonctionnel.
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.
Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.
Voir le cadre actuel de ARITHIGNORE
Pour voir le réglage actuel de ARITHIGNORE, lancez la requête T-SQL 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 montre l’utilisation des deux SET ARITHIGNORE paramètres avec les deux types d’erreurs de requête : division par zéro et dépassement arithmétique.
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 montre la division par zéro et les erreurs de dépassement. 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;