控制在查詢執(zhí)行過程中是否從溢出或被零除錯誤返回錯誤信息。
SET ARITHIGNORE { ON | OFF }
SET ARITHIGNORE 設置僅控制是否返回錯誤信息。不論該設置是什么,Microsoft® SQL Server™ 都將在包含溢出或被零除錯誤的計算中返回 NULL。可以使用 SET ARITHABORT 設置確定是否終止查詢。該設置不影響在 INSERT、UPDATE 和 DELETE 語句執(zhí)行過程中發(fā)生的錯誤。
如果 SET ARITHABORT 或 SET ARITHIGNORE 為 OFF,并且 SET ANSI_WARNINGS 為 ON,則當遇到被零除或溢出錯誤時,SQL Server 仍返回錯誤信息。
SET ARITHIGNORE 的設置是在執(zhí)行或運行時設置,而不是在分析時設置。
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
相關文章