日期:2014-05-17  浏览次数:20393 次

如何建立表的数据变动日志!?
我有一个土木工程项目的管理软件,客户对工程质量要求很高,所以提出一个需求: 要求可以查看每个生产任务及配方都必须有每次数据变动的日志,以方便事后追查责任。
例:
   表->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