解决方案: |
以下脚本是处理评估后卡片丢失多部门应用的资产,原脚本仅处理单部门应用资产(可见相关维护案例)。注意以下脚本中的“sCardNum = '00323' and lOptID = 1993”、sid = '2328'、“iObjectNum”等条件要根据具体的数据进行修改!
select * into fa_DeptScale_tmp2
FROM fa_DeptScale
where (sCardNum = '00323' and lOptID = 1993) or (sCardNum = '00321' and lOptID = 1688)
order by scardnum,loptid
update fa_DeptScale_tmp2 set lOptID = 2003
update fa_DeptScale_tmp2 set sid = (select lmaxid from fa_Objects where [iObjectNum] = 11)+1 where sid = '2328'
update fa_DeptScale_tmp2 set sid = (select lmaxid from fa_Objects where [iObjectNum] = 11)+2 where sid = '2329'
update fa_DeptScale_tmp2 set sid = (select lmaxid from fa_Objects where [iObjectNum] = 11)+3 where sid = '2330'
update fa_DeptScale_tmp2 set sid = (select lmaxid from fa_Objects where [iObjectNum] = 11)+4 where sid = '2652'
update fa_DeptScale_tmp2 set sid = (select lmaxid from fa_Objects where [iObjectNum] = 11)+5 where sid = '2653'
delete FROM fa_DeptScale where sCardNum in ('00323','00321') and lOptID IN (2003)
INSERT INTO fa_DeptScale([sid],[sCardNum], [lOptID], [sDeptNum], [dblScale], [sDeprSubjectNum], [sDeprSubjectName],[sProjectNum],[sProjectName])
SELECT sid,sCardNum, lOptID, sDeptNum, dblScale, NULL, NULL,NULL,NULL
from fa_DeptScale_tmp2
WHERE lOptID IN (2003)
-- 更新 fa_Objects 表 单据发生号 记录
update fa_Objects set [lMaxID] = (select max(cast (sid as int)) from fa_DeptScale)
where [iObjectNum] = 11
注意做好数据备份! |