我遇到执行触发器的问题。我在下面提供了1个触发器的代码。
create or replace
TRIGGER abc_tr01
BEFORE INSERT
ON tablename
FOR EACH ROW
BEGIN
UPDATE tablename
SET dtCreatedDate = SYSDATE
WHERE incidentid = ( SELECT :NEW.incidentid
FROM DUAL );
END;
此触发器应该更新dtCreatedDate
表的一列(tablename
),并在该表上执行插入之前将SYSDATE
存储在其中。
但是无法更新dtCreatedDate
字段。
我已检查过启用了触发器。它也在插入时被解雇了。我通过在触发器代码中注入一个语法错误来检查它,并迅速检测到它。
我正在使用SQL Developer 3.0。
请帮忙。
答案 0 :(得分:1)
无需UPDATE
声明:
create or replace
TRIGGER abc_tr01
BEFORE INSERT
ON tablename
FOR EACH ROW
BEGIN
:new.dtCreatedDate := sysdate;
END;
/