SET ARITHIGNORE (Transact-SQL)

Determina se vengono restituiti messaggi di errore in caso di divisione per zero o di overflow durante l'esecuzione di una query.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

SET ARITHIGNORE { ON | OFF }
[ ; ]

Osservazioni

L'impostazione SET ARITHIGNORE controlla solamente se viene restituito un messaggio di errore. Per i calcoli che includono un errore di divisione per zero o di overflow SQL Server restituisce NULL indipendentemente dall'impostazione dell'opzione. È possibile utilizzare l'opzione SET ARITHABORT per determinare se la query viene interrotta. Questa impostazione non influisce sugli errori che si verificano durante le istruzioni INSERT, UPDATE e DELETE.

Se l'opzione SET ARITHABORT o SET ARITHIGNORE è impostata su OFF e l'opzione SET ANSI_WARNINGS è impostata su ON, SQL Server restituisce comunque un messaggio di errore quando si verificano errori di divisione per zero o di overflow.

L'opzione SET ARITHIGNORE viene impostata in fase di esecuzione, non in fase di analisi.

Autorizzazioni

È richiesta l'appartenenza al ruolo public.

Esempi

Nell'esempio seguente viene illustrato come utilizzare entrambe le impostazioni dell'opzione SET ARITHIGNORE con entrambi i tipi di errore di query.

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