Oracle 触发器 - 更新新插入记录的列

Oracle trigger - update column on newly inserted record

在我的 Oracle (Express) 数据库中,我有一个 table 和一个名为 created(日期类型)的列。
我想要做的是创建一个触发器,该触发器将在更新或插入完成后更新该列,使用 SYSDATE.

我的sql(仅用于插入,我知道,它无论如何都会失败)是:

CREATE OR REPLACE TRIGGER  "VIRTUAL_COUNTERS_NEW" 
AFTER
insert on "VIRTUAL_COUNTERS"
begin
new.updated := SYSDATE
end;
/
ALTER TRIGGER  "VIRTUAL_COUNTERS_NEW" ENABLE
/

您需要在 new 前加上冒号字符并添加 每一行 以便在多行插入的情况下更新每一行:

CREATE OR REPLACE TRIGGER  VIRTUAL_COUNTERS_NEW
BEFORE
insert on VIRTUAL_COUNTERS
FOR EACH ROW
begin
  :new.updated := SYSDATE;
end;
/