>我创建了一个唯一的索引(如果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 使用此方法最好应用此设置。
希望这有帮助...