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
Controla se são retornadas mensagens de erro de estouro ou erros de divisão por zero durante uma consulta.
Convenções de sintaxe de Transact-SQL
Sintaxe
-- 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
Observação
Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.
Comentários
A SET ARITHIGNORE configuração só controla se uma mensagem de erro é retornada. O SQL Server retorna um NULL em um cálculo que envolve um erro de estouro ou divisão por zero, independentemente dessa configuração. A SETSET ARITHABORT configuração pode ser usada para determinar se a consulta foi encerrada. Essa configuração não afeta erros ocorrendo durante INSERT, UPDATE, e DELETE instruções.
Se qualquer um SET ARITHABORT dos ou SETSET ARITHIGNORE estiver DESLIGADO e SETSET ANSI_WARNINGS LIGADO, o SQL Server ainda retorna uma mensagem de erro ao encontrar erros de divisão por zero ou de overflow.
A configuração de é definida em tempo de execução ou execução e não em tempo de SET ARITHIGNORE análise.
Para exibir a configuração atual dessa configuração, execute a consulta a seguir.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Permissões
Requer associação à função public.
Exemplos
O exemplo a seguir demonstra o uso das duas configurações de SET ARITHIGNORE com os dois tipos de erros de consulta.
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 estouro. Este exemplo não retorna uma mensagem de erro para esses erros porque ARITHIGNORE está DESLIGADO.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;
Consulte Também
SET Instruções (Transact-SQL)
SET
SET ARITHABORT (Transact-SQL)