天天看点

oracle 编写触发器,实现数据插入和更新时自动记录当前时间

oracle 编写触发器,实现数据插入和更新时自动记录当前时间

UPDATETIME 默认时间为当前系统时间

触发器脚本如下:

create or replace trigger trigger_test

before insert or update on RANDOM_ORDERS for each row

begin

   select sysdate into :new.UPDATETIME from dual;

end;

其中,trigger_test为触发器名称,RANDOM_ORDERS为表名,UPDATETIME为表中的字段名称

===================================================================================

根据不同的操作执行不同的操作脚本如下(RANDOM_ORDERS_copy 为RANDOM_ORDERS的复制表):

create or replace trigger trigger_tz before insert or update or delete

on RANDOM_ORDERS for each row

begin

if inserting then

    select sysdate into :new.updatetime from dual;

elsif updating then

    select sysdate into :new.updatetime from dual;

elsif deleting then

   -- select into purchases_copy from old;

    insert into RANDOM_ORDERS_copy(CUSTOMERID,PRODUCTID,ORDERDATE,UPDATETIME) values (:old.CUSTOMERID,:old.PRODUCTID,:old.ORDERDATE,:old.UPDATETIME);

end if;

end;