新聞中心
在Oracle數(shù)據(jù)庫(kù)中,Oracle觸發(fā)器是一種自動(dòng)執(zhí)行響應(yīng)數(shù)據(jù)庫(kù)變化的程序。下面就帶您一同了解一下Oracle觸發(fā)器的使用,供您參考學(xué)習(xí)。

創(chuàng)新互聯(lián)不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對(duì)營(yíng)銷(xiāo)、技術(shù)、服務(wù)都有自己獨(dú)特見(jiàn)解,公司采取“創(chuàng)意+綜合+營(yíng)銷(xiāo)”一體化的方式為您提供更專(zhuān)業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作質(zhì)量和服務(wù)品質(zhì),在得到用戶(hù)滿(mǎn)意的同時(shí),也能得到同行業(yè)的專(zhuān)業(yè)認(rèn)可,能夠?yàn)樾袠I(yè)創(chuàng)新發(fā)展助力。未來(lái)將繼續(xù)專(zhuān)注于技術(shù)創(chuàng)新,服務(wù)升級(jí),滿(mǎn)足企業(yè)一站式營(yíng)銷(xiāo)型網(wǎng)站建設(shè)需求,讓再小的成都品牌網(wǎng)站建設(shè)也能產(chǎn)生價(jià)值!
我們可以設(shè)置為在觸發(fā)器事件之前或之后觸發(fā)或執(zhí)行。能夠觸發(fā)觸發(fā)器事件的事件包括下面幾種:
DML事件
DDL事件
數(shù)據(jù)庫(kù)事件
DML事件觸發(fā)器可以是語(yǔ)句或行級(jí)觸發(fā)器。DML語(yǔ)句觸發(fā)器在觸發(fā)語(yǔ)句之前或之后觸發(fā)DML行級(jí)觸發(fā)器在語(yǔ)句影響的行變化之前或之后觸發(fā)。用戶(hù)可以給單一事件和類(lèi)型定義多個(gè)觸發(fā)器,但沒(méi)有任何方法可以增強(qiáng)多觸發(fā)器觸發(fā)的命令。下表列出了用戶(hù)可以利用的觸發(fā)器事件:
事件 觸發(fā)器描述
INSERT 當(dāng)向表或視圖插入一行時(shí)觸發(fā)觸發(fā)器
UPDATE 更新表或視圖中的某一行時(shí)觸發(fā)觸發(fā)器
DELETE 從表或視圖中刪除某一行時(shí)觸發(fā)觸發(fā)器
CREATE 當(dāng)使用CREATE語(yǔ)句為數(shù)據(jù)庫(kù)或項(xiàng)目增加一個(gè)對(duì)象時(shí)觸發(fā)觸發(fā)器
ALTER 當(dāng)使用ALTER語(yǔ)句為更改一個(gè)數(shù)據(jù)庫(kù)或項(xiàng)目的對(duì)象時(shí)觸發(fā)觸發(fā)器
DROP 當(dāng)使用DROP語(yǔ)句刪除一個(gè)數(shù)據(jù)庫(kù)或項(xiàng)目的對(duì)象時(shí)觸發(fā)觸發(fā)器
START 打開(kāi)數(shù)據(jù)庫(kù)時(shí)觸發(fā)觸發(fā)器,在事件后觸發(fā)
SHUTDOWN 關(guān)閉數(shù)據(jù)庫(kù)時(shí)觸發(fā),事件前觸發(fā)
LOGON 當(dāng)一個(gè)會(huì)話建立時(shí)觸發(fā),事件前觸發(fā)
LOGOFF 當(dāng)關(guān)閉會(huì)話時(shí)觸發(fā),事件前觸發(fā)
SERVER 服務(wù)器錯(cuò)誤發(fā)生時(shí)觸發(fā)觸發(fā)器,事件后觸發(fā)
創(chuàng)建觸發(fā)器的語(yǔ)法如下:
- CREATE [OR REPLACE] TRIGGER trigger_name
- {before|after|instead of} event
- ON {table_or_view_name|DATABASE}
- [FOR EACH ROW[WHEN condition]]
- trigger_body
只有DML觸發(fā)器(INSERT、UPDATE、DELETE)語(yǔ)句可以使用INSTEAD OF觸發(fā)器并且只有表的DML觸發(fā)器可以是BEFORE或AFTER觸發(fā)器。
象約束一樣觸發(fā)器可以被設(shè)置為禁用或啟用來(lái)關(guān)閉或打開(kāi)他們的執(zhí)行體(EXECUTE),將觸發(fā)器設(shè)置為禁用或啟用使用ALTER TRIGGER語(yǔ)句:
- ALTER TRIGGER trigger_name ENABLE;
- ALTER TRIGGER trigger_name DISABLE;
要禁用或啟用表的所有觸發(fā)器,使用ALTER TABLE語(yǔ)句
- ALTER TABLE table_name DISABLE ALL TRIGGERS;
- ALTER TABLE table_name ENABLE ALL TRIGGERS;
刪除觸發(fā)器使用DROP TRIGGER
- DROP TRIGGER trigger_name;
【編輯推薦】
Oracle過(guò)程和函數(shù)的區(qū)別
Oracle to_char函數(shù)的使用
oracle函數(shù)返回表的實(shí)現(xiàn)
帶您了解Oracle FBI索引
詳解如何將Oracle安裝為L(zhǎng)inux服務(wù)
網(wǎng)站欄目:帶您深入了解Oracle觸發(fā)器
文章源于:http://m.fisionsoft.com.cn/article/dpohogj.html


咨詢(xún)
建站咨詢(xún)
