CREATE OR REPLACE TRIGGER gjpt.TRI_AA
AFTER  DELETE 
ON gjpt.AA
FOR EACH ROW 
begin
   insert into AA_BAK (a1) values(old.a1) --不能用:
end TRI_AA;

解决方案 »

  1.   

    CREATE OR REPLACE TRIGGER gjpt.TRI_AA
    AFTER  DELETE 
    ON gjpt.AA
    FOR EACH ROW 
    begin
       insert into AA_BAK (a1) values(:old.a1);  --此处没有分号
    end TRI_AA;
      

  2.   

    创建成功,但是删除数据时报错!
    ORA-04098: 触发器 'GJPT.TRI_AA' 无效且未通过重新确认
    No changes made to database.DELETE FROM "AA" WHERE "A1" = :1
      

  3.   

    CREATE OR REPLACE TRIGGER gjpt.TRI_AA
    AFTER  DELETE 
    ON gjpt.AA
    FOR EACH ROW 
    begin
       insert into AA_BAK (a1) values(:old.a1);
    end gjpt.TRI_AA;
      

  4.   

    SQL> CREATE OR REPLACE TRIGGER gjpt.TRI_AA
      2  AFTER  DELETE
      3  ON gjpt.AA
      4  FOR EACH ROW
      5  begin
      6     insert into AA_BAK (a1) values(:old.a1);
      7  end gjpt.TRI_AA;
      8  /警告: 创建的触发器带有编译错误。SQL> select * from aa;A1
    --------------------
    3
    2
    1SQL> select * from aa_bak;未选定行SQL> delete from aa;
    delete from aa
                *
    ERROR 位于第 1 行:
    ORA-04098: 触发器 'GJPT.TRI_AA' 无效且未通过重新确认这是我的操作过程,大家看看吧!写了!一定给分!