Поделиться через


SET ARITHIGNORE (Transact-SQL)

Осуществляет контроль возврата сообщения об ошибке при переполнении или делении на ноль во время выполнения запроса.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

SET ARITHIGNORE { ON | OFF }
[ ; ]

Замечания

От параметра SET ARITHIGNORE зависит только то, будет ли возвращаться сообщение об ошибке. При возникновении переполнения или при попытке деления на ноль SQL Server возвращает значение NULL вне зависимости от данной настройки. Настройка SET ARITHABORT может использоваться для определения прекращения выполнения запроса. Эта настройка не влияет на ошибки, возникающие во время выполнения инструкций INSERT, UPDATE, и DELETE.

Если значение параметров SET ARITHABORT и SET ARITHIGNORE установлено в OFF, а значение параметра SET ANSI_WARNINGS установлено в ON, SQL Server возвращает сообщение об ошибке при обнаружении ошибок деления на ноль и переполнения.

Параметр настройки SET ARITHIGNORE устанавливается во время запуска или выполнения, но не во время синтаксического анализа.

Разрешения

Необходимо членство в роли public.

Примеры

В следующем примере показано использование обеих настроек SET ARITHIGNORE для обоих типов ошибок запросов.

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

См. также

Справочник

Инструкции SET (Transact-SQL)

SET ARITHABORT (Transact-SQL)