Megosztás a következőn keresztül:


HALMAZOM ARITIGNORE (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Szabályozza, hogy a hibaüzenetek visszatérnek-e a túlfolyó vagy nullával osztott hibák során a lekérdezés során.

Transact-SQL szintaxis konvenciók

Szemantika

-- 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

Megjegyzés:

Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.

Megjegyzések

A SET ARITHIGNORE beállítás csak azt szabályozza, hogy visszaküldjük-e hibaüzenet. Az SQL Server NULL-t ad vissza egy olyan számításban, amely túlcsordulás vagy nullával osztó hibát tartalmaz, függetlenül ettől a beállítástól. A SET ARITHABORT beállítás segítségével meghatározható, hogy a lekérdezés lezárt-e. Ez a beállítás nem befolyásolja az INSERT, UPDATE és DELETE utasítások során előforduló hibákat.

Ha a SET ARITHABORT vagy SET ARITHIGNORE KIKAPCSOLT és a SET ANSI_WARNINGS BEKAPCSOLVA, az SQL Server továbbra is hibaüzenetet ad vissza, ha nullával osztó vagy túlcsordulás hibákkal találkozik.

A SET ARITHIGNORE beállítása végrehajtási vagy futási időben van beállítva, nem parse időben.

A jelenlegi beállítás megtekintéséhez futtasd le a következő lekérdezést.

DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';  
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';  
SELECT @ARITHIGNORE AS ARITHIGNORE;  

Permissions

A nyilvános szerepkörhöz tagságra van szükség.

Példák

A következő példa mindkét SET ARITHIGNORE beállítást használja mindkét típusú lekérdezési hibával.

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  

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

A következő példa bemutatja a nullával való osztást és a túlcsordulási hibákat. Ez a példa nem ad hibaüzenetet ezekre a hibákra, mert az ARITHIGNORE KIKAPCSOLVA.

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

Lásd még:

SET-utasítások (Transact-SQL)
ARITHABORT BEÁLLÍTÁSA (Transact-SQL)