常用方式
-- Update a Set a.ApproverAD=@ApproverAD,a.ApproverName=@ApproverName
-- From [192.168.0.210].[EIP].[dbo].[wt_ApproverList] a
-- Where FormID=@FormID and ActivityName=@ActivityName
在查询分析器执行速度可以,但在存储过程中极慢,且有错误提示 “行句柄引用了一个已被删除的行或被标识为删除的行”
优化方式引用了一个已被删除的行或被标识为删除的行”?
Declare @S nvarchar(max)
Set @S=''
Set @S=@S+'Update a Set a.ApproverAD='''+@ApproverAD+''',a.ApproverName='''+@ApproverName+''''+' From [192.168.0.210].[EIP].[dbo].[wt_ApproverList] a Where FormID='''
+@FormID+''''+' And ActivityName='''+@ActivityName+''''
--Select @S
exec (@S)
此方式相当于直接在查询分析器执行,速度快。
本文介绍了一种在遇到‘行句柄引用了一个已被删除的行’错误时的SQL更新语句优化方法。通过动态构建并执行SQL语句,提高了处理效率。
1610

被折叠的 条评论
为什么被折叠?



