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

时间:2015-07-16 08:20:18

标签: sql oracle triggers oracle10g insert-update

在My Oracle(Express)DB中,我有一个包含列的表,名为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
/

1 个答案:

答案 0 :(得分:1)

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

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