【发布时间】:2013-07-15 20:08:15
【问题描述】:
我正在尝试编写一个触发器来更新相同的表数据:
表名:TEST_INSERTTIMETRIGGER
列:更改日期
以下是我尝试过的:
CREATE OR REPLACE TRIGGER TESTTRIGGER
BEFORE
INSERT ON TEST_INSERTTIMETRIGGER
REFERENCING NEW AS NEW OLD AS OLD
for each row
declare
reqdate date=old.changedate;
BEGIN
:new.changedate:=reqdate+1/24;
END;
当我尝试使用插入语句时,空值正在插入到表名中。
insert into TEST_INSERTTIMETRIGGER (changedate) VALUES (to_date(SYSDATE, 'yyyy/mm/dd hh24:mi:ss'))
让我建议我哪里出错了。
【问题讨论】:
-
除了尝试@schurik 答案之外,还要注意
SYSDATE已经是DATE类型,所以在你的INSERT中没有必要调用TO_DATE-insert into TEST_INSERTTIMETRIGGER (changedate) VALUES (SYSDATE)将工作得很好。