西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程數(shù)據(jù)庫教程 → Informix觸發(fā)器、創(chuàng)建insert、update和delete三個觸發(fā)器實例介紹

Informix觸發(fā)器、創(chuàng)建insert、update和delete三個觸發(fā)器實例介紹

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2012/5/16 12:01:15字體大。A-A+

作者:佚名點擊:130次評論:0次標(biāo)簽: 觸發(fā)器

  • 類型:系統(tǒng)工具大。11.9M語言:中文 評分:2.7
  • 標(biāo)簽:
立即下載

實例:在一個基表上創(chuàng)建insert,update,delete這三個觸發(fā)器,將對基表的操作保存在監(jiān)控表中,達到監(jiān)控基表的操作過程  

創(chuàng)建基表table_trigger1  

create table table_trigger1 (  

id1 char(10), --id1,唯一  

name1 char(20), --姓名  

primary key(id1) -----基表必須要有關(guān)鍵子,不然通過監(jiān)控表無法獲知對哪一行數(shù)據(jù)進行了操作  

)  

創(chuàng)建監(jiān)控表  

create table table_trigger2 (  

id2 char(10), --id2,對應(yīng)操作基表的id1,這里的id2不能設(shè)置為主鍵,因為對基表的某一行可以操作多次  

kind varchar(1), --類型,用I來表示insert,U來表示update,D來表示delete  

time2 datetime year to fraction(5) --時間,表示操作發(fā)生的時間  

)  

創(chuàng)建3個觸發(fā)器:  

insert觸發(fā)器  

create trigger trigger_insert -- 創(chuàng)建trigger_insert 觸發(fā)器  

insert on table_trigger1 --在基表table_trigger1表創(chuàng)建insert觸發(fā)事件  

referencing NEW as new --定義new 在后面要使用  

for each row --使用referencing語句的前提條件,必須加上  

(  

insert into table_trigger2 (id2,kind,time2) //向監(jiān)控表table_trigger2插入數(shù)據(jù)  

values (new.id1,'I',current) //current表示觸發(fā)時的時間  

);  

update觸發(fā)器  

create trigger trigger_update  

update on table_trigger1  

referencing Old as old  

for each row  

(  

insert into table_trigger2 (id2,kind,time2)  

values (old.id1,'U',current)  

);  

delete觸發(fā)器  

create trigger trigger_delete  

delete on table_trigger1  

referencing Old as old  

for each row  

(  

insert into table_trigger2 (id2,kind,time2)  

values (old.id1,'D',current)  

);  

測試:  

執(zhí)行下面4句sql語句  

insert into table_trigger1 values ('1','name1');  

insert into table_trigger1 values ('2','name');  

update table_trigger1 set name1='newName1' where id1='1';  

delete table_trigger1 where id1='2';  

在監(jiān)控表table_trigger2中的數(shù)據(jù):  

id2   kind   time2  

1     I      發(fā)生時刻  

2     I      發(fā)生時刻  

1     U      發(fā)生時刻  

2     D      發(fā)生時刻  

通過監(jiān)控表就可以詳細的知道table_trigger1表的數(shù)據(jù)變化情況了

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)