DB2觸發器簡單例子

2022-08-28 14:51:17 字數 1888 閱讀 8985

db2使用版本9.7

建立a 、b兩個表,a表資料有更新、刪除、插入時,將a表id記錄放入b表

1、create table a (id varchar(5),name varchar(30));

create table b (id varchar(5),name varchar(30))

2、建立觸發器

--插入時觸動

create trigger administrator.tri_insert 

after insert on administrator.a

referencing new as n 

for each row mode db2sql

begin atomic

insert into administrator.b(id,name) values(n.id,n.name );

end   

--測試: insert into  administrator.a values ('3','name');

--刪除時觸動

create trigger administrator.tri_delete

after delete on administrator.a

referencing old as o 

for each row mode db2sql

begin atomic

insert into administrator.b(id) values(o.id);

end --測試:delete from administrator.a where id = '3' 

--更新時觸動 

create or replace  trigger administrator.tri_update

after update of name on administrator.a

referencing new as n old as o 

for each row mode db2sql

begin atomic

insert into administrator.b(id,name) values(o.id,n.name);

end  

--測試:update administrator.a set name = 'n2_name'  

--有資料提示 db2 9.7以上版本支援 after insert or delete or update 寫法,可是9.7版本並不支援

例子:create or replace trigger hired

after insert or delete or update of salary on employee

referencing new as n old as o for each row

begin

if inserting then 

update company_stats set nbemp = nbemp + 1;

elseif 

deleting then update company_stats set nbemp = nbemp - 1;

elseif (updating and (n.salary > 1.1 * o.salary))

then signal sqlstate '75000' set message_text='salary increase>10%';

end if;

end; 

之後,考慮使用db2中oracle相容性的設定,db2set db2_compatibility_vector=ora , 依然不支援 after insert or delete or update 寫法,有成功在9.7版本中成功使用after insert or delete or update 寫法的麻煩指導下 

DB2控制中心建立觸發器

由於公司專案的需要,讓我這個對db2一點不通的人來寫個觸發器。沒辦法,查資料,現在終於有點小成果,記錄下。在觸發器上右擊 建立,出現下面介面 建立觸發器的名字,選擇表檢視模式,表檢視名稱 選擇已觸發操作,出現介面 由於之前選擇執行觸發操作是插入,所以只有新行相關名,在下面的已觸發的操作裡面寫觸發語句...

資料庫觸發器DB2和SqlServer有哪些區別

大部分資料庫語句的基本語法是相同的,但具體到的每一種資料庫,又www.cppcns.com有些不一樣,例如觸發器,db2和sql server兩種很大的不同。例如db2的乙個觸發器 create trigger eas.trname no cascade before insert 插入觸發器 on...

DB2資料庫建立觸發器的實現過程

在db2資料庫操作中,我們常常會使用到觸發器,這對於我們初學者來說似乎有一點點的難度。不過沒關係,本文我們就介紹了一些db2資料庫觸發器方面的一些知識,並給出了乙個建立觸發器的例項,對於初學者來說,如果您不太懂,也可以直接套用下面的例項來完成觸發器的建立。接下來就讓我們一起來了解一下這部分內容。建乙...