原因分析:在用户数据库的收发记录子表rdrecords上人为添加了触发器『abc』,但记帐操作涉及回写收发记录子表,即对rdrecords表存在update操作,从而触发器生效。对触发器分析:人为添加的触发器如下CREATETRIGGER[abc]ON[dbo].[RdRecords]FORINSERT,UPDATEASupdaterdrecordssetrdrecords.cdefine23=xl_rd_z.remarkfromrdrecords,xl_rd_z,rdrecordwhererdrecords.autoid=xl_rd_z.autoidand(rdrecords.cdefine23isnullorrdrecords.cdefine23=null)andrdrecord.cvouchtype=’11’存在如下问题:只要对rdrecords表有insert、update操作,均会触发该触发器,且对符合条件的所有记录均进行update更新操作!从而导致大量无意义的重复更新操作!解决方案:问题处理:在用户数据库的收发记录子表rdrecords上人为添加了触发器『abc』,导致记帐效率低。删除该触发器,进行记帐操作,2000多条记录几分钟即可完成。注意事项:对于触发器的使用,请先参考sql联机帮助,了解一下inserted、deleted表的功能、使用方法。不建议或尽量避免对用户数据库添加触发器、修改存储过程、及现有数据库、表结构,以免影响产品正常功能使用。

微信号:yyrjlls
技术咨询,有偿服务!
复制微信号
技术咨询,有偿服务!
复制微信号