exec sp_cleanitemdetailv
go
update a set a.fdetailcount=b.Fcount
from t_itemdetail a join (select Fdetailid,count(*) as Fcount from t_itemdetailv
where fitemid=-1 group by Fdetailid) b
on a.fdetailid=b.fdetailid where a.fdetailcount<>b.Fcount
go
如果其他用户异常则只需将manager替换为出现异常的用户名,执行SQL语句前请对帐套做好备份处理。
update d set d.fdetailcount=v.fcount from t_ItemDetail d,
(select fdetailid,count(*) fcount from t_ItemDetailv where fitemid=-1 group by fdetailid ) v
where d.fdetailid=v.fdetailid