问题缘由:
希望在系统中添加详细的操作记录和操作审核的功能;操作被审核通过,则更新数据,不通过就不更新。
思路:
于是针对每个可能被修改的表添加一个相应的表(结构相同),用来存放操作更新后的数据,以待审核。审核操作表,目的是判断是否更新人员表。
问题:希望审核的时候可以看到哪些项目被修改,从“什么”修改为“什么”,并且只罗列那些被修改项目和具体内容。也就是说怎样读取两个结构完全相同表中两条记录的差异项目和具体内容。
形象点以下表说:
[人员表]:
id name gender birth
1 张三 男 1980-11-11
[操作表]:
id name gender birth
1 张三 女 1980-11-11
两表中可见性别被修改,怎样找出其他被修改的字段和具体内容;怎样写SQL可以读取两条记录不一致的项目和数据??
我主要是实现系统功能,如果可以给个好的思路也可以,还可以加分。
感谢 回答者:逐月追心:人员表有50个字段,这样写SQL不可取。如果换了其他表,例如 合同表就要重新写SQL。
感谢 回答者:独驾舟千里去:可以多次更改 待审核,审核通过的更改记录作为正式修改 去更新数据;不通过审核的 过期作废,数据不动。修改内容很多,应该须存储。 问题还是 怎样用简单的SQL语句将有过改动的数据显示给审核员看? 如果没有巧妙的方法,就只能根据字段来做循环了,这样也可以避免在程序里写字段名了。