Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Ovládá, zda jsou chybové zprávy vráceny z chyb přetečení nebo dělení nulou během dotazu.
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
Poznámka:
Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.
Poznámky
Nastavení SET ARITHIGNORE ovládá pouze to, zda bude vrácena chybová zpráva. SQL Server vrací NULL ve výpočtu zahrnujícím chybu přetečení nebo dělení nulou, bez ohledu na toto nastavení. Nastavení SET ARITHABORT lze použít k určení, zda je dotaz ukončen. Toto nastavení neovlivňuje chyby vznikající během příkazů INSERT, UPDATE a DELETE.
Pokud je SET ARITHABORT nebo SET ARITHIGNORE VYPNUTO a SET ANSI_WARNINGS zapnuto, SQL Server stále zobrazí chybovou zprávu při chybách dělení nulou nebo přetečení.
Nastavení SET ARITHIGNORE je nastaveno při spuštění nebo běhu a nikoli při parse.
Pro zobrazení aktuálního nastavení tohoto nastavení spusťte následující dotaz.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Povolení
Vyžaduje členství ve veřejné roli.
Examples
Následující příklad ukazuje použití obou SET ARITHIGNORE nastavení s oběma typy chyb dotazů.
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říklady: Azure Synapse Analytics a Analytický platformový systém (PDW)
Následující příklad ukazuje dělení nulou a chyby přetečení. Tento příklad nevrací chybovou zprávu pro tyto chyby, protože ARITHIGNORE je VYPNUTÝ.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;
Viz také
Příkazy SET (Transact-SQL)
PŘIPRAVTE ARITHABORT (Transact-SQL)