SQL>  create or replace trigger testtri
  2  after insert
  3  on scott.test
  4  begin
  5  insert into scott.test2 values(new.id);
  6  end;
  7  /警告: 创建的触发器带有编译错误。
是SYS用户 也是在SYS表空间下  怎么可能出错呢

解决方案 »

  1.   

    insert into scott.test2 values(:new.id);
      

  2.   

    SQL>  create or replace trigger testtri
      2  after insert
      3  on scott.test
      4  begin
      5  insert into scott.test2 values(:new.id);
      6  end;
      7  /警告: 创建的触发器带有编译错误。
      

  3.   

    第 1 行出现错误:
    ORA-04082: NEW 或 OLD 引用不允许在表级触发器中你应该用行级触发器。
    SQL> create table emp2 as select * from emp where 1=2;表已创建。SQL> create or replace trigger testtri
      2  after insert
      3  on scott.emp
      4  for each row
      5  begin
      6  insert into scott.emp2 (empno) values(:new.empno);
      7  end;
      8  /触发器已创建SQL> show error
    没有错误。
    SQL>
      

  4.   

    呵呵 谢谢了 刚用ORACLE 重点是学了个show error
      

  5.   

    create or replace trigger testtri
    after insert on scott.test for each row
    begin
    insert into scott.test2 values(:new.id);
    end;--test2 表里只有这一列吧