小弟现在做了一系统,是生产流程方面的,主要功能是按生产流程由一个表向下生成另一个表,各流程同不同部门的人来管理,客户提出:当现在的流程1中表1的数据发生修改时下一流程可能用这个数据了,这样出错无法分清是谁负责,要求有修改记录,可是我这个程序里的表有几十个,各表中的字段也有5、6十,加起来几百个字段,如果能做一个通用的,或是简单点的修改记录方案?要有时间,字段,改前改后的记录。

解决方案 »

  1.   

    create trriger on 表
    for update
    as
           if exists(select [name] from sysobjects where type='u' and id=object_id('生成表'))
                 drop table 生成表
                 select * into 生成表 from 生产流程表
      

  2.   

    我高兴死了,哈哈,哈哈,这么好,谢谢大家,谢谢!不过....:( 我没用过,能帮小弟扫下盲吗?我只会写sql 那几句select 没用过触发器呀,我也是计算机系的,但大学玩了4年游戏,
    哈哈,请大哥们指点具体操做方法是什么呀,不用改客户端,那是在哪改呀?
      

  3.   

    我用到
    触发器主要是用到两个表
    Inserted 和deleted 
    以及和游标的运用
    不知道大家都是如何的?
      

  4.   

    去Google查。
    www.delphibbs.com上也比较多。CSDN的海量搜索都可以啊。
      

  5.   

    这么多个字段这么多个表,就是写触发器,也要累死你!我记得在PB里可以很简单实现这种功能的(PB每一次提交数据库时有一个事件可以知道修改哪张表,哪个字段),我想DELPHI 中也应该会有相应的功能吧。好好找找
      

  6.   

    哦,是有好多表和字段,那就是不好实现了,:( 谁知道delphi中的哪个事件合适呀,我自己找,大家也帮忙呀
      

  7.   

    在delphi中事件都是很好认的如: beforeinsert ,afterinsert 等等
      

  8.   

    早上先顶一下,我昨天想了想如果没有好的办法我想这样做,让用户费点事,因为他们为了减少分清工作上的错误是不怕费一点事的,我想这样做一个窗体让用户把修改的字段写上,点公布按钮,系统自动向数据库'修改记录_table'中添加:用户名 修改时间 字段 ,而系统中加一个按钮叫‘查看修改记录’可按日期显示这些修改记录,
      

  9.   

    haha 我用触发器做成了,谢谢大家