oracle觸發器使用案例

2021-07-10 16:14:18 字數 1254 閱讀 9160

開發要求:

刪除或者更新表tab的行時,更新表cust相應的字段。

表tab中custguid欄位和表cust中cust_guid欄位是關聯字段,表tab中com欄位和表cust中str欄位是關聯字段。

建立表tab,表cust

create

table tab(custguid varchar2(30),com varchar2(20));

create

table cust(cust_guid varchar2(30),str varchar2(20));

insert

into tab values('1abc','help');

insert

into tab values('qqqq','gggg');

insert

into cust values('qqqq','ffff');

insert

into cust values('2abc','help');

insert

into cust values('3abc','help');

insert

into cust values('4abc','help');

建立觸發器

create

orreplace

trigger tr_tab_cust_1

after

insert

orupdate

on tab

referencing new as new old as old

foreach

rowbegin

update cust set str=:new.com where cust_guid=:new.cust_guid;

end;

驗證

update tab set com = 'wwww'

where custguid = '1abc';

select * from tab;

select * from cust;

發現,當更新tab的行時,表cust相應欄位也跟著更新了。

grant

create

trigger

to scott;

grant

alter

anytrigger

to scott;

oracle觸發器使用

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

oracle觸發器使用例項

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

Oracle的觸發器使用

在oracle中想要插入資料或更新資料時能夠自動更新時間,需要使用使用觸發器,此處使用的工具時plsql 1.建表 create table rm catalog id varchar 64 primary key,name varchar 256 fatherid varchar 64 crate...