现在我有两个表ti_company_regist和ti_czfchi_company,在ti_czfchi_company这个表中暂时没有记录,而在ti_company_regist已经存在企业的相关信息,包括企业名称(nsrmc),企业标识id(company_id),现在我想在ti_czfchi_company这张表上建一个触发器,往ti_czfchi_company这张表中插入企业信息时,触发该触发器。ti_czfchi_company这张表的结构是(nsrmc,company_id),触发器触发的条件是插入的企业信息的nsrmc=ti_company_regist.nsrmc,若该条件成立,则我要将ti_company_regist表中的该条记录company_id取出来set到ti_czfchi_company这张表的company_id字段,反之不成立,则这条记录不再插入ti_czfchi_company这张表中?请问各位高手有什么方法吗?

解决方案 »

  1.   

    如果是Oracle数据库的话,有 BeforeTrigger 可以完成你的要求。无非是触发器中先检查下所插入记录信息,如果符合就补充字段company_id,不符合就抛出异常(即本次插入会失败掉)。
      

  2.   

    BeforeTrigger这是什么用法?能具体说明一下吗?谢谢了
      

  3.   

    这不是用法,是触发器的一种;比如Insert为例,BeforeTrigger会在数据插入表之前触发;而默认是AfterTrigger,是在数据插入表之后再出发。可以稍微参考下:
    http://liang3391.blog.51cto.com/178205/813483
      

  4.   

    http://www.adp-gmbh.ch/ora/sql/trigger/before_after_each_row.html