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