DB2數(shù)據(jù)庫(kù)創(chuàng)建觸發(fā)器的實(shí)現(xiàn)過(guò)程
在DB2數(shù)據(jù)庫(kù)操作中,我們常常會(huì)使用到觸發(fā)器,這對(duì)于我們初學(xué)者來(lái)說(shuō)似乎有一點(diǎn)點(diǎn)的難度。不過(guò)沒(méi)關(guān)系,本文我們就介紹了一些DB2數(shù)據(jù)庫(kù)觸發(fā)器方面的一些知識(shí),并給出了一個(gè)創(chuàng)建觸發(fā)器的實(shí)例,對(duì)于初學(xué)者來(lái)說(shuō),如果您不太懂,也可以直接套用下面的實(shí)例來(lái)完成觸發(fā)器的創(chuàng)建。接下來(lái)就讓我們一起來(lái)了解一下這部分內(nèi)容。
建一個(gè)觸發(fā)器,應(yīng)包含以下部分:
觸發(fā)器名字:……
觸發(fā)器觸發(fā)事件:insert,delete,update
激活時(shí)間:before,after
粒度:for each statement,for each row
過(guò)渡變量:
old row:表示觸發(fā)事件之前被修改的值:
new row表示觸發(fā)事件之后被修改的值
old table表示觸發(fā)事件之前全部被修改行的一個(gè)只讀假想表
new table表示觸發(fā)事件之后全部被修改行的一個(gè)假想表
觸發(fā)條件:由WHEN開(kāi)始,可包含一個(gè)或多個(gè)謂詞,可包含過(guò)渡變量和子查詢。
觸發(fā)體:由一個(gè)或多個(gè)SQL語(yǔ)句組成。
創(chuàng)建DB2觸發(fā)器的一個(gè)實(shí)例:
- CREATE TRIGGER REORDER
- AFTER UPDATE OF ON_HAND, MAX_STOCKED ON PARTS
- REFERENCING NEW AS N_ROW
- FOR EACH ROW MODE DB2SQL
- WHEN (N_ROW.ON_HAND < 0.10 * N_ROW.MAX_STOCKED
- AND N_ROW.ORDER_PENDING = 'N')
- BEGIN ATOMIC
- VALUES(ISSUE_SHIP_REQUEST(N_ROW.MAX_STOCKED -
- N_ROW.ON_HAND,
- N_ROW.PARTNO));
- UPDATE PARTS SET PARTS.ORDER_PENDING = 'Y'
- WHERE PARTS.PARTNO = N_ROW.PARTNO;
- END
關(guān)于DB2數(shù)據(jù)庫(kù)觸發(fā)器的知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@。
【編輯推薦】






