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.
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