Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
A SET ARITHIGNORE configuração controla se a consulta devolve mensagens de erro para excesso aritmético ou erros de divisão por zero. A SET ARITHIGNORE ON definição suprime as mensagens "Ocorreu divisão por zero." ou "Ocorreu um transbordamento aritmético."
Transact-SQL convenções de sintaxe
Sintaxe
Sintaxe para bases de dados SQL Server, Base de Dados SQL do Azure, Microsoft Fabric Data Warehouse, SQL em Microsoft Fabric
SET ARITHIGNORE { ON | OFF }
Syntax for Azure Synapse Analytics and Analytics Platform System (PDW)
SET ARITHIGNORE OFF
Observações
- Se ambos
SET ARITHABORTforemSET ANSI_WARNINGSOFFe ocorrer um erro aritmético, aparece uma mensagem de aviso quandoSET ARITHIGNOREéOFF, e o resultado da operação aritmética éNULL. - Se tanto
SET ARITHABORTe foremOFFcomo ocorrer um erro aritmético, não aparece uma mensagem de aviso seSET ARITHIGNOREforON, e o resultado da operação aritmética forNULLSET ANSI_WARNINGS.
A ARITHIGNORE definição apenas controla se a consulta devolve uma mensagem de erro. O SQL Database Engine devolve NULL um cálculo envolvendo um erro de overflow ou divisão por zero, independentemente desta configuração. Esta definição não afeta erros que ocorrem durante INSERTas instruções , UPDATE, e DELETE .
Se ou SET ARITHABORTSET ARITHIGNORE for OFF, e SET ANSI_WARNINGS for ON, a consulta ainda devolve uma mensagem de erro quando encontra erros de divisão por zero ou de transbordamento. Quando ANSI_WARNINGS é ON (o padrão), a definição de ARITHABORT não tem efeito funcional.
A definição de SET ARITHIGNORE é definida em tempo de execução ou execução e não em tempo de análise sintática.
Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.
Ver configuração atual de ARITHIGNORE
Para visualizar a definição atual de ARITHIGNORE, execute a seguinte consulta T-SQL.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Permissions
Requer adesão à função pública de .
Examples
O exemplo seguinte demonstra o uso de ambas SET ARITHIGNORE as definições com ambos os tipos de erros de consulta: dividir por zero e overflow aritmético.
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
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
O exemplo seguinte demonstra a divisão por zero e os erros de transbordamento. Este exemplo não devolve uma mensagem de erro para estes erros porque ARITHIGNORE é OFF.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;