Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Ponto de extremidade de análise de SQL no Microsoft Fabric
Depósito no Microsoft Fabric
Banco de dados SQL no Microsoft Fabric
A SET ARITHIGNORE configuração controla se a consulta retorna mensagens de erro para transbordamento aritmético ou erros de divisão por zero. A SET ARITHIGNORE ON configuração suprime as mensagens "Divisão por zero ocorreu." ou "Transbordamento aritmético ocorreu."
Convenções de sintaxe de Transact-SQL
Sintaxe
Sintaxe para banco de dados SQL Server, Banco de Dados SQL do Azure, Microsoft Fabric Data Warehouse, SQL em Microsoft Fabric
SET ARITHIGNORE { ON | OFF }
Sintaxe para Azure Synapse Analytics e PDW (Analytics Platform System)
SET ARITHIGNORE OFF
Comentários
- Se ambos e são e ocorrer um erro aritmético, uma mensagem de aviso aparece quando
SET ARITHIGNOREéOFF, e o resultado da operação aritmética éNULL.OFFSET ANSI_WARNINGSSET ARITHABORT - Se tanto
SET ARITHABORTe foremOFFquanto ocorrer um erro aritmético, uma mensagem de aviso não aparece seSET ARITHIGNOREforON, e o resultado da operação aritmética forNULLSET ANSI_WARNINGS.
A ARITHIGNORE configuração controla apenas se a consulta retorna uma mensagem de erro. O SQL Mecanismo de Banco de Dados retorna NULL um cálculo envolvendo um erro de transbordamento ou divisão por zero, independentemente dessa configuração. Essa configuraçã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 retorna uma mensagem de erro quando encontra erros de divisão por zero ou de transbordamento. Quando ANSI_WARNINGS é ON (o padrão), a configuração de ARITHABORT não tem efeito funcional.
A configuração de é definida em tempo de execução ou execução e não em tempo de SET ARITHIGNORE análise.
Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.
Veja o cenário atual de ARITHIGNORE
Para visualizar a configuraçã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;
Permissões
Requer associação à função pública .
Exemplos
O exemplo a seguir demonstra o uso de ambas SET ARITHIGNORE as configurações com ambos os tipos de erros de consulta: dividir por zero e transbordamento 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 e PDW (Analytics Platform System)
O exemplo a seguir demonstra os erros de divisão por zero e de transbordamento. Este exemplo não retorna uma mensagem de erro para esses erros porque ARITHIGNORE é OFF.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;