控制在查询执行过程中是否从溢出或被零除错误返回错误信息。
SET ARITHIGNORE { ON | OFF }
SET ARITHIGNORE 设置仅控制是否返回错误信息。不论该设置是什么,Microsoft® SQL Server™ 都将在包含溢出或被零除错误的计算中返回 NULL。可以使用 SET ARITHABORT 设置确定是否终止查询。该设置不影响在 INSERT、UPDATE 和 DELETE 语句执行过程中发生的错误。
如果 SET ARITHABORT 或 SET ARITHIGNORE 为 OFF,并且 SET ANSI_WARNINGS 为 ON,则当遇到被零除或溢出错误时,SQL Server 仍返回错误信息。
SET ARITHIGNORE 的设置是在执行或运行时设置,而不是在分析时设置。
SET ARITHIGNORE 权限默认授予所有用户。
下例演示两种 SET ARITHIGNORE 设置下的两类查询错误。
PRINT 'Setting ARITHIGNORE ON'
GO
-- SET ARITHIGNORE ON and testing.
SET ARITHIGNORE ON
GO
SELECT 1/0
GO
SELECT CAST(256 AS tinyint)
GO
PRINT 'Setting ARITHIGNORE OFF'
GO
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF
GO
SELECT 1/0
GO
SELECT CAST(256 AS tinyint)
GO
相关文章