如何建立表的数据变动日志!?
我有一个土木工程项目的管理软件,客户对工程质量要求很高,所以提出一个需求: 要求可以查看每个生产任务及配方都必须有每次数据变动的日志,以方便事后追查责任。
例:
表->InWhs
字段->BillCode, BillDate, WhsID, ItemID, Number, Price, Money
数据一旦变动记要记录如下内容:
1. 刘卫 PC-0002 2013-06-04 12:11:32 InWhs 2013-0000001 修改 WhsID值改变:粉料仓库 改为 减水剂仓库; ItemID值改变:42.5水泥改为 南方牌荂系减水剂; Number值改变: 74.98改为3.5
2. 刘卫 PC-0002 2013-06-04 12:14:56 InWhs 2013-0000001 增加 WhsID值减水剂仓库; ItemID值0-3细石; Number值321
------解决方案--------------------建对应的日志表: LInWhs
字段: BillCode, BillDate, WhsID, ItemID, Number, Price, Money, OperateType, UDate, UUser
每次对InWhs表有新增/修改/删除操作时,也写一笔记录到对应的日志表LInWhs.
其中OperateType字段存操作类型,如insert/update/delete.
UDate字段存操作的日期时间.
UUser字段存操作人员的帐号.
------解决方案--------------------2008以上可以使用CDC功能,可以看看我的文章:http://blog.csdn.net/dba_huangzj/article/details/8130448
------解决方案--------------------自己搞一个日志记录表,每次操作前、后的数据,操作的SQL代码都存放好不就行了。
------解决方案--------------------CDC看一下能不能满足,否则要用TRIGER 或者XEVENT