CREATE OR REPLACE TRIGGER tdemo
  BEFORE INSERT of a
  ON table1
FOR EACH ROW
BEGIN
  insert into table2(b) values(:new.values);
commit;
  END IF;
END tdemo
/

解决方案 »

  1.   

    CREATE OR REPLACE TRIGGER tdemo
      after INSERT of a
      ON table1
    FOR EACH ROW
    BEGIN
      insert into table2(b) values(:new.values);
      commit;
      END IF;
    END tdemo
      

  2.   

    提示:new不是表层的处理过程。不能用。怎么解决。
      

  3.   

    就是一层兄贴的:
    CREATE OR REPLACE TRIGGER tdemo
      BEFORE INSERT of a
      ON table1
    FOR EACH ROW
    BEGIN
      insert into table2(b) values(:new.values);
    END tdemo
      

  4.   

    问题如下:oracle中有个表A(FName,FSex)表B(FName,FSex.....)
    使用触发器,使A表有改动时,B表相应改动。即,当A加一条记录时,
    B也加同样一条,A删除一条记录时,B也删除同样一条。修改也是如此。
    CREATE OR REPLACE TRIGGER tdemo
      BEFORE INSERT of a
      ON table1
    FOR EACH ROW
    BEGIN
      insert into table2(b) values(:new.values);
    END;
      

  5.   

    CREATE OR REPLACE TRIGGER tdemo
      BEFORE INSERT of a
      ON table1
    FOR EACH ROW
    BEGIN
      insert into table2 b values(:new.values);
    END;应该没问题或者你设了主键吧........
      

  6.   

    纠正:触发器里是不允许有commit或rollback语句的,触发器的事务随调用触发器的事务提交而提交,回滚而回滚。
    当然,若触发器为自动事务类型的话,可以有commit或rollback语句
      

  7.   

    两个表是否有primary key和Forekgn key约束?
    如果有的话要分开写成:after insert,before delete的形式,如果
    更新的是主键,则update时要变相的换成delete 后在insert的形式