天天看點

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;