失败,因为算术中止设置不正确



>我创建了一个唯一的索引(如果IsDelete != 1,则案例描述应该是唯一的)

CREATE UNIQUE NONCLUSTERED INDEX [UniqueCaseDescription]
ON [tblCases] ([fldCaseDescription] ASC) 
WHERE [IsDeleted] = CAST(0 AS varbinary(1))
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

然后,当我运行以下过程时,它会抛出"更新失败",因为以下 SET 选项的设置不正确:"ARITHABORT"。验证 SET 选项是否正确用于筛选的索引。

ALTER PROC [usp_DeleteCase] (@fldCaseID UNIQUEIDENTIFIER)
AS
BEGIN   
    UPDATE tblCases
    SET IsDeleted = 1
    WHERE fldCaseID = @fldCaseID
    RETURN 1
END

我尝试在 UPDATE 语句之前添加 SET ARITHABORT,但这没有任何作用。

任何帮助将不胜感激!

如果使用

SQL Server请尝试应用以下设置:

1) 打开 SQL Server Management Studio。2) 右键单击您使用的数据库名称,然后选择属性>选项菜单。然后从打开的对话框中设置启用算术中止 = True。

注意:我还尝试使用脚本应用相同的设置,但通过 SSMS 使用此方法最好应用此设置。

希望这有帮助...

最新更新