有表
CREATE TABLE ALARM
(
INT_ID NUMBER,
EVENT_TIME DATE,
CANCEL_TIME DATE,
INSERT_TIME DATE DEFAULT sysdate,
PRIMARY KEY (INT_ID)
)
希望update CANCEL_TIME之后更新INSERT_TIME,试着写了触发器:
create or replace trigger trigger_alarm
after update
on alarm
FOR EACH ROW
begin
update alarm set INSERT_TIME=sysdate;
end;但是执行update时报错,请问问题出在哪里?
CREATE TABLE ALARM
(
INT_ID NUMBER,
EVENT_TIME DATE,
CANCEL_TIME DATE,
INSERT_TIME DATE DEFAULT sysdate,
PRIMARY KEY (INT_ID)
)
希望update CANCEL_TIME之后更新INSERT_TIME,试着写了触发器:
create or replace trigger trigger_alarm
after update
on alarm
FOR EACH ROW
begin
update alarm set INSERT_TIME=sysdate;
end;但是执行update时报错,请问问题出在哪里?
after update on alarm
FOR EACH ROW
begin
:new.INSERT_TIME:=sysdate;
end;
before update
on alarm
FOR EACH ROW
begin
:new.INSERT_TIME:=sysdate;
end;
触发器类型要改成before,after类型的不允许修改:new值的.
create or replace trigger trigger_alarm before update on alarm FOR EACH ROW
begin
:new.INSERT_TIME:=sysdate;
end;