Oracle的觸發器使用

2021-10-05 13:43:09 字數 963 閱讀 8188

在oracle中想要插入資料或更新資料時能夠自動更新時間,需要使用使用觸發器,此處使用的工具時plsql

1.建表

create table .rm_catalog(

id varchar(64) primary key,

name varchar(256),

fatherid varchar(64),

cratetime date default sysdate,-- 建立

updatetime date default sysdate,--修改資料的最新時間 

);commit;

2.建立表後,直接在sql指令碼中執行即可,每個表可以有多個觸發器,但不能同時建立多個觸發器

--插入資料時更新觸發器

create or replace trigger create_time_triggr -- 觸發器名稱

before insert

on rm_catalog 

for each row

declare

-- local variables here

begin

select sysdate into:new.cratetime from dual; -- new 表示 當前改變或插入的行

end create_time_triggr;-- 觸發器的建立 不能在 後邊 新增 commit;語句 ,會導致錯誤

--插入資料或更新資料時更新觸發器

create or replace trigger update_time_triggr

before insert or update

on rm_catalog

for each row

declare

begin

select sysdate into:new.updatetime from dual;

end update_time_tirggr;

oracle觸發器使用

size medium 語法規則 create or replace trigger 模式.觸發器名 before after insert delete update of 列名 on 表名 for each row when 條件 pl sql塊 說明 for each row的意義是 在一次操...

oracle觸發器使用案例

開發要求 刪除或者更新表tab的行時,更新表cust相應的字段。表tab中custguid欄位和表cust中cust guid欄位是關聯字段,表tab中com欄位和表cust中str欄位是關聯字段。建立表tab,表cust create table tab custguid varchar2 30 ...

oracle觸發器使用例項

在使用觸發器前先理解兩個概念 new和 old,new代表執行更新操作之後的新錶,old代表執行更新操作之前的舊表。通過這兩張表的使用,可以訪問到觸發器執行前後表資料的變化。insert操作只有 new,delete操作只有 old,update操作二者皆有。new 和 old只用於行級觸發器。ne...