就是数据库有张表,然后已经建立了一个触发器,检测输入是否重复
现在问题是,在DELPHI的程序功能是一个提示窗口,当数据库输入重复的时候,能马上跳出提示。
然后,我要这么获得这个触发事件呢??

解决方案 »

  1.   


    建立一个和基表相同结构的监视表(或只保留基表中不允许重复的字段),在Insert,Update下建立触发器,Inserted表中的记录如果在基表中存在则写入刚建立的监视表中,删除基表重复记录,外部程序监视这个表的记录变化,仅供参考
      

  2.   

    你应该是误解我的意思了,新表中仅保存的是重复记录,而不是原始表的Copy,那样做实在没什么意义
    然后我再补充一下,我上次说的方案:
    1、Update触发器可以限定Update(不允许重复的字段)
    2、再加入Delete触发器,判断如果原始表中已经把重复记录删除了,也要同时删除新建表中的记录在原始表中查询和新表中查询效率肯定不会一样的
    1、你的新表中仅保存的是重复记录(单条记录,没有必要把两条重复记录都弄进来),数据量要远小于原始表
    2、原始表中还不断有生产数据进来,在新表中查对原始表影响要小触发器好像做不到发送消息给外部程序,如果你觉得定时查询对数据库影响较大的话,可以试一下触发器调用一个存储过程,在存储过程中RAISERROR,ROLLBACK或者干脆写一个日志文件在服务器上,你的外部程序去监视这个日志文件,使用RAISERROR应该会反映到你的财务软件,而不会反映到你的监视程序中。