所屬欄目:計算機網(wǎng)絡(luò)論文 發(fā)布日期:2015-07-14 15:27 熱度:
Oracle數(shù)據(jù)庫是在數(shù)據(jù)庫領(lǐng)域一直處于領(lǐng)先地位的產(chǎn)品。在Oracle數(shù)據(jù)庫開發(fā)中也有很多細微的技術(shù),比如觸發(fā)器。本文是一篇中文核心期刊范文,主要論述了觸發(fā)器在Oracle數(shù)據(jù)庫中的應(yīng)用研究。
摘要:Oracle數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),而觸發(fā)器作為一種特殊類型的存儲過程,在維護數(shù)據(jù)庫安全性、完整性等方面有著重要作用。以SYSTEM模式中的emp和dept數(shù)據(jù)表為例,闡述了觸發(fā)器的概念及具體應(yīng)用,以及其在數(shù)據(jù)庫開發(fā)中強大的功能和特點。
關(guān)鍵詞:Oracle,觸發(fā)器,SYSTEM模式,數(shù)據(jù)庫應(yīng)用
0 引言
觸發(fā)器在Oracle數(shù)據(jù)庫開發(fā)中作用強大,可以方便地基于一個表的修改,自動更新其它相關(guān)表的記錄,以保證數(shù)據(jù)的完整性和一致性。觸發(fā)器是建立在Oracle數(shù)據(jù)表上的一種特殊的存儲過程,它定義了一些與數(shù)據(jù)庫相關(guān)事件(INSERT、UPDATE、CREATE等)發(fā)生時應(yīng)執(zhí)行的“功能代碼塊”,通常用于管理復(fù)雜的完整性約束或監(jiān)控對表的修改,或通知其它程序,甚至可以實現(xiàn)對數(shù)據(jù)的審計功能。與一般存儲過程不同,觸發(fā)器不能直接調(diào)用,而是由事件啟動運行的,當(dāng)事件發(fā)生或出現(xiàn)指定操作時,觸發(fā)器會自動激活,進行設(shè)定的數(shù)據(jù)處理。
1 觸發(fā)器組成及分類
觸發(fā)器由觸發(fā)事件、觸發(fā)時機、觸發(fā)操作、觸發(fā)對象及觸發(fā)頻率等幾部分組成[1]。
觸發(fā)事件,是引起觸發(fā)器被觸發(fā)的事件。例如,執(zhí)行DML語句、DDL語句、數(shù)據(jù)庫系統(tǒng)事件(如系統(tǒng)啟動或退出、產(chǎn)生異常錯誤等)和用戶事件(如登錄或退出數(shù)據(jù)庫操作),這些操作都可以引起觸發(fā)器的運行。
觸發(fā)時機:表示在觸發(fā)事件發(fā)生之前還是之后執(zhí)行觸發(fā)。關(guān)鍵字為BEFORE、AFTER或INSTEAD OF。BEFORE表示在執(zhí)行DML等操作之前觸發(fā);AFTER表示在DML等操作之后發(fā)生;INSTEAD OF表示觸發(fā)器是替代觸發(fā)器。
觸發(fā)操作:觸發(fā)器被觸發(fā)后執(zhí)行的“程序代碼塊”。
觸發(fā)對象:包括表、視圖、模式、數(shù)據(jù)庫。只有在這些對象上發(fā)生了符合觸發(fā)條件的觸發(fā)事件,才會執(zhí)行觸發(fā)操作。
觸發(fā)頻率:指觸發(fā)器內(nèi)定義的動作被執(zhí)行的次數(shù),即語句級觸發(fā)器或行級觸發(fā)器。
根據(jù)觸發(fā)事件和觸發(fā)器的執(zhí)行情況,可以將Oracle所支持的觸發(fā)器分為5種類型:語句級觸發(fā)器、行級觸發(fā)器、替換觸發(fā)器、用戶事件觸發(fā)器和系統(tǒng)事件觸發(fā)器。
語句級觸發(fā)器:針對一條DML語句而引起的觸發(fā)器執(zhí)行,無論該語句影響了多少行數(shù)據(jù),觸發(fā)器只會執(zhí)行一次。
行級觸發(fā)器:相對于語句級觸發(fā)器而言,行級觸發(fā)器會針對DML操作所影響的每一行數(shù)據(jù)執(zhí)行一次觸發(fā)器。
替換觸發(fā)器:替換觸發(fā)器定義在視圖上,而不是數(shù)據(jù)表上。視圖是由多個基表連接組成的邏輯結(jié)構(gòu),一般不允許進行DML操作。當(dāng)編寫替換觸發(fā)器后,對視圖的操作實際上就變成了對構(gòu)成視圖的各個基表的操作。
用戶和系統(tǒng)事件觸發(fā)器:因DDL操作或用戶登錄、退出或系統(tǒng)事件等操作而引起運行的一種觸發(fā)器。
2 觸發(fā)器編寫應(yīng)用實例
以O(shè)racle數(shù)據(jù)庫中SYSTEM模式下的emp和dept兩張表為例。emp為員工信息表,dept為部門信息表,具體結(jié)構(gòu)如表1、表2所示。
以emp和dept為基表,滿足以下要求:①創(chuàng)建新表dept_log來監(jiān)控dept表的操作信息及操作日期;②以emp和dept為基表,創(chuàng)建一個檢索員工信息的視圖,對視圖進行insert操作。以上兩點要求,實際上是在emp和dept表中創(chuàng)建行級觸發(fā)器和替換觸發(fā)器的問題。
3 觸發(fā)器編寫注意事項
在Oracle數(shù)據(jù)庫開發(fā)中,觸發(fā)器編寫需注意以下幾點:①觸發(fā)器的定義不允許帶有參數(shù);②一個表上最多有12個觸發(fā)器。但同一時間、同一事件的觸發(fā)器只能有一個,并且各觸發(fā)器之間不能有矛盾;③觸發(fā)器的執(zhí)行部分只能用DML語句(如SELECT、INSERT、DELETE),不能使用DDL語句;④觸發(fā)器中不能包含事務(wù)控制語句(如COMMIT、ROLLBACK、SAVEPOINT)。
4 結(jié)語
觸發(fā)器技術(shù)是保證數(shù)據(jù)完整性、一致性的一種方法,在數(shù)據(jù)庫開發(fā)中具有強大功能。在實際開發(fā)應(yīng)用中,如能熟練地將觸發(fā)器與數(shù)據(jù)庫視圖、函數(shù)、存儲過程有機結(jié)合起來使用,將極大地提高計算機系統(tǒng)的運行效率,達到滿意的效果。
參考文獻:
[1] 楊永健,劉尚毅.ORACLE數(shù)據(jù)庫管理、開發(fā)與實踐[M].北京:人民郵電出版社,2012(12):141150.
[2] 顧云鋒,楊素霞.Oracle數(shù)據(jù)庫中存儲過程開發(fā)研究[J].計算機與現(xiàn)代化,2011(10):138142.
[3] 劉維學(xué),喬麗平.SQL Server數(shù)據(jù)庫DML觸發(fā)器的研究與應(yīng)用[J].計算機技術(shù)與發(fā)展,2013(11):6673.
[4] 楊桂霞.存儲過程及觸發(fā)器在SQL Server數(shù)據(jù)庫開發(fā)中的應(yīng)用[J].計算機光盤軟件與應(yīng)用,2012(1):6667.
[5] 石道生,張士軍,孫山.SQL Server數(shù)據(jù)庫觸發(fā)器與存儲過程技術(shù)在自定義數(shù)據(jù)表中的應(yīng)用[J].計算機與現(xiàn)代化,2004(3):22-27.
中文核心期刊論文發(fā)表《電子設(shè)計工程》(半月刊),中國科技核心期刊(科技論文統(tǒng)計源期刊),創(chuàng)刊于1993年,原名《國外電子元器件》,主要介紹具有較高學(xué)術(shù)水平的、電子領(lǐng)域相關(guān)的理論、技術(shù)、方法的專業(yè)性技術(shù)期刊。主要欄目有:計算機技術(shù)應(yīng)用、網(wǎng)絡(luò)與通信工程、測控與儀器儀表、圖像與多媒體技術(shù)、開發(fā)與應(yīng)用、數(shù)字處理技術(shù)、嵌入式技術(shù)、消費類電子、汽車電子、集成電路應(yīng)用、新特器件應(yīng)用、電源技術(shù)與應(yīng)用、信息安全、工業(yè)自動化、電力電子等
文章標(biāo)題:中文核心期刊范文觸發(fā)器在Oracle數(shù)據(jù)庫中的應(yīng)用研究
轉(zhuǎn)載請注明來自:http://www.56st48f.cn/fblw/dianxin/wangluo/27410.html
攝影藝術(shù)領(lǐng)域AHCI期刊推薦《Phot...關(guān)注:105
Nature旗下多學(xué)科子刊Nature Com...關(guān)注:152
中小學(xué)教師值得了解,這些教育學(xué)...關(guān)注:47
2025年寫管理學(xué)論文可以用的19個...關(guān)注:192
測繪領(lǐng)域科技核心期刊選擇 輕松拿...關(guān)注:64
及時開論文檢索證明很重要關(guān)注:52
中國水產(chǎn)科學(xué)期刊是核心期刊嗎關(guān)注:54
國際出書需要了解的問題解答關(guān)注:58
合著出書能否評職稱?關(guān)注:48
電信學(xué)有哪些可投稿的SCI期刊,值...關(guān)注:66
通信工程行業(yè)論文選題關(guān)注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關(guān)注:120
評職稱發(fā)論文好還是出書好關(guān)注:68
復(fù)印報刊資料重要轉(zhuǎn)載來源期刊(...關(guān)注:51
英文期刊審稿常見的論文狀態(tài)及其...關(guān)注:69
Web of Science 核心合集期刊評估...關(guān)注:58
電子信息論文范文
智能科學(xué)技術(shù)論文 廣播電視論文 光電技術(shù)論文 計算機信息管理論文 計算機網(wǎng)絡(luò)論文 計算機應(yīng)用論文 通信論文 信息安全論文 微電子應(yīng)用論文 電子技術(shù)論文 生物醫(yī)學(xué)工程論文 軟件開發(fā)論文
期刊百科問答
copyright © www.56st48f.cn, All Rights Reserved
搜論文知識網(wǎng) 冀ICP備15021333號-3