[英]Oracle trigger - update column on newly inserted record
In My Oracle (Express) DB I have a table with a column, named created
(date type). 在My Oracle(Express)DB中,我有一个带有列的表,该列名为
created
(日期类型)。
What I am trying to do, is to create a trigger that will update that column after an update or insert, was done, with SYSDATE
. 我要尝试做的是创建一个触发器,该触发器将在完成更新或插入后使用
SYSDATE
更新该列。
My sql (for insert only, I know, it fails anyway) is: 我的SQL(我只知道用于插入,无论如何它都会失败)是:
CREATE OR REPLACE TRIGGER "VIRTUAL_COUNTERS_NEW"
AFTER
insert on "VIRTUAL_COUNTERS"
begin
new.updated := SYSDATE
end;
/
ALTER TRIGGER "VIRTUAL_COUNTERS_NEW" ENABLE
/
You need to prefix new with a colon character and add for each row so that the update is for each row in case of multiple rows insert: 您需要在new前面加上冒号字符并为每行添加,以便在多行插入的情况下为每行进行更新:
CREATE OR REPLACE TRIGGER VIRTUAL_COUNTERS_NEW
BEFORE
insert on VIRTUAL_COUNTERS
FOR EACH ROW
begin
:new.updated := SYSDATE;
end;
/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.