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;
/
在我的 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;
/