日期:2014-05-18  浏览次数:20557 次

记录订单的修改历史,如何实际数据库表?
现在客户要求能够修改订单,并且把每次的修改历史都记录下来,如何设计数据库来满足此要求呢?

比如现在有两张表   PO_HEADER   和   PO_DETAIL

要求改一次单(包括改Header   和Detail),都能够可以跟踪到,改了哪些内容。

我知道有一些大系统,比如SAP之类的,可以做到这一点。

------解决方案--------------------
加PO_HEADER_histroy 和 PO_DETAIL_history
结构相同,增加修改时间,修改人等字段
每改一次插入一条


------解决方案--------------------
记录这些修改历史,用来作查询吧!

可以用触发器实现。

这样不论是通过程序,还是直接在表中修改,都能记录修改的历史信息。

------解决方案--------------------
把每次的修改历史都记录下来,那肯定要建个历史档了,历史档用自增长的ID做主键,字段就看那些是必须保存的了,也不用什么都保存历史

在表的update触发器里往历史档写就好,当然是每个表对应一个历史档