SET ARITHIGNORE (Transact-SQL)

Steuert die Rückgabe von Fehlermeldungen, die wegen Überlauffehlern oder Fehlern aufgrund einer Division durch Null während einer Abfrage auftreten.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


SET ARITHIGNORE { ON | OFF }
[ ; ]

Die Einstellung SET ARITHIGNORE steuert lediglich, ob eine Fehlermeldung zurückgegeben wird. SQL Server gibt unabhängig von dieser Einstellung in einer Berechnung NULL zurück, wenn ein Überlauf- oder Division-durch-0-Fehler auftritt. Mithilfe der SET ARITHABORT-Einstellung kann bestimmt werden, ob die Abfrage beendet wird. Diese Einstellung wirkt sich nicht auf Fehler aus, die im Verlauf von INSERT-, UPDATE- und DELETE-Anweisungen auftreten.

Auch wenn SET ARITHABORT oder SET ARITHIGNORE auf OFF und SET ANSI_WARNINGS auf ON festgelegt sind, gibt SQL Server eine Fehlermeldung zurück, wenn ein Fehler aufgrund einer Division durch Null oder ein Überlauffehler auftritt.

Die Einstellung von SET ARITHIGNORE wird zur Ausführungszeit und nicht zur Analysezeit festgelegt.

Erfordert die Mitgliedschaft in der public-Rolle.

Im folgenden Beispiel wird die Verwendung beider SET ARITHIGNORE-Einstellungen mit beiden Typen von Abfragefehlern veranschaulicht.

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

Community-Beiträge

HINZUFÜGEN
Anzeigen: