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