日期:2014-05-17  浏览次数:20703 次

大家好,我建了一个触发器来删除表中的重复记录,但是报错,请大家指点一下,非常感谢!
我在PL/SQL   Developer中执行了如下SQL
drop   table   fzjc_hum_change

create   table   FZJC_HUM_CHANGE     (
      WORK_IDNO                         VARCHAR2(18)                                           not   null,
      CHANGE_COL                       VARCHAR2(100)                                         not   null,
      NEW_VALUE                         VARCHAR2(100),
      OLD_VALUE                         VARCHAR2(100),
      MOVE_TIME                         VARCHAR2(20)                                           not   null
)

CREATE   OR   REPLACE   TRIGGER   FZJC_HUM_CHANGE_DELETE
AFTER   INSERT   ON   FZJC_HUM_CHANGE
FOR   EACH   ROW
BEGIN
          DELETE   FROM   FZJC_HUM_CHANGE   where   NEW_VALUE=OLD_VALUE
END   FZJC_HUM_CHANGE_DELETE;

insert   into   FZJC_HUM_CHANGE   values( '1 ', '2 ', '3 ', '4 ', '5 ');
当执行insert时出错,报:
ORA-04098:触发器 'FZJC.FZJC_HUM_CHANGE_DELETE '无效且未通过重新确认


------解决方案--------------------
行触发器不可操作本表,除非你是自治事务。
------解决方案--------------------
行触发器不可操作本表