日期:2014-05-16  浏览次数:20572 次

怎么设计操作记录表?
老板要求一些重要的操作都有操作记录。比如某人对某表做了什么样的改动等。

这真让我头大。

以采购单表为例子。
比如新增一条记录,还好办。某人,某时,操作类型是增加,具体指向某条采购单号。
删除也一样。

但是修改就麻烦了。假如原来采购单里有N个商品(实际上就是采购明细单里有N条记录),现在他修改了某几个商品的数量和价格,然后删除了某几条商品,又增加了几个商品。那么当这个家伙点“提交”时候,我该用什么样的操作记录表,把他做的修改变动给记录下来?

我向老板推荐用触发器,但是老板很不喜欢在数据库里加功能。要求通过程序往自己设计的操作日志表里写东西。

我该怎么来设计这个操作日志表?
------解决方案--------------------
2008的话CDC可以实现类似的功能
------解决方案--------------------
两个问题:
1、改动:
      什么叫改动?修改数据表结构算不算?
      一种是技术人员的改动,直接修改数据库内容;一种是操作人员的操作,增加/修改记录等等,这个是和业务相关了,估计不是一个表就能满足所有需要的
2、触发器问题:
      用触发器的话,比如需要批量删除一批数据,需要记录吗?
      要是业务相关的,一般说不实际删除数据,而是做删除标记