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資料庫觸發器方面的一些知識,並給出了乙個建立觸發器的例項,對於初學者來說,如果您不太懂,也可以直接套用下面的例項來完成觸發器的建立。接下來就讓我們一起來了解一下這部分內容。建乙...