首先你'NEW.DOC_NO' 这个就不对,
应该是':NEW.DOC_NO' ,看看别人写Trigger,然后再检查自己写的

解决方案 »

  1.   

    检查一下你的表mtr_doc_rec中
    看你的插入字段是否在表中存在
    new前加冒号 :newSQL> CREATE TABLE data_change_flow
      2  (
      3    table_name varchar(20),   
      4          corp     varchar2(12),
      5   change_date DATE,
      6   doc_no VARCHAR2(40),
      7   mtr_id  varchar2(40),
      8   rsn_id VARCHAR2(3),
      9   mtr_num NUMBER(18,4)
     10  );表已创建SQL> CREATE TABLE mtr_doc_rec
      2  (
      3          corp     varchar2(12),
      4     change_date     DATE,
      5     doc_no  VARCHAR2(40),
      6     mtr_id  varchar2(40),
      7     rsn_id  VARCHAR2(3),
      8     mtr_num NUMBER(18,4)
      9  );表已创建SQL> create or replace trigger t_mtr_doc_rec
      2  before insert on mtr_doc_rec for each row
      3  begin
      4     insert into data_change_flow 
      5     values(     'mtr_doc_rec',
      6                 :new.corp,
      7                 sysdate,
      8                 :new.doc_no,
      9                 :new.mtr_id,
     10                 :new.rsn_id,
     11                 :new.mtr_num
     12             );
     13  end t_mtr_doc_rec;
     14  /触发器已创建SQL> insert into mtr_doc_rec
      2  (doc_no,
      3  corp,
      4  mtr_id,
      5  mtr_num,
      6  rsn_id)
      7  values
      8  ('java0001','TW23722471','A00001',100,'1');已创建一行