背景
最近项目中遇到一个问题,统计部门的工作量,系统已经运行了两周了,有上千条业务数据,但是在统计中发现一个问题,业务表中的部门外键被全部赋值NULL,最后查了原因,确实是有个步骤中的接口操作中将部门给更新了(但是没传值),没办法只能解决,最后发现我们有个日志和流程记录,这两个表都有操作人的部门信息,这就好办了,我可以把流程表中对应的这一操作的部门id赋值给业务表,逻辑上市不会有问题,直接上代码
update AppEventInfos set
AppEventInfos.ForDepartmentCode=EventProcessInfos.EventProcesserOrgCode
from AppEventInfos ,EventProcessInfos
where AppEventInfos.TaskNumber=EventProcessInfos.EventTaskNumber
and AppEventInfos.ForDepartmentCode is null
and EventProcessInfos.EventProcessCode='61C3AABF-3314-450A-A9AE-E02E65591599'
这句意思就是 利用AppEventInfos ,EventProcessInfos表进行判断赋值,根据EventProcessInfos中的节点条件进行查询出有用的记录,然后赋值给 AppEventInfos 为NULL的记录,经判断,完全符合。