大家好,我建了一个触发器来删除表中的重复记录,但是报错,请大家指点一下,非常感谢!
我在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 '无效且未通过重新确认
------解决方案--------------------行触发器不可操作本表,除非你是自治事务。
------解决方案--------------------行触发器不可操作本表