數(shù)據(jù)庫觸發(fā)器與內(nèi)置程序包綜述_第1頁
數(shù)據(jù)庫觸發(fā)器與內(nèi)置程序包綜述_第2頁
數(shù)據(jù)庫觸發(fā)器與內(nèi)置程序包綜述_第3頁
數(shù)據(jù)庫觸發(fā)器與內(nèi)置程序包綜述_第4頁
數(shù)據(jù)庫觸發(fā)器與內(nèi)置程序包綜述_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、數(shù)據(jù)庫觸發(fā)器和內(nèi)置程序包第九章第一頁,共二十三頁。回顧在上一章中,我們討論了:子程序程序包2第二頁,共二十三頁。目標本章將討論:數(shù)據(jù)庫觸發(fā)器內(nèi)置程序包3第三頁,共二十三頁。數(shù)據(jù)庫觸發(fā)器10-1數(shù)據(jù)庫觸發(fā)器是 PL/SQL 塊或存儲過程是在對關(guān)聯(lián)表執(zhí)行 DML 操作時觸發(fā)的是隱式執(zhí)行的還可能具有聲明部分和異常處理部分4第四頁,共二十三頁。數(shù)據(jù)庫觸發(fā)器10-2觸發(fā)器的組成部分觸發(fā)器語句觸發(fā)器主體觸發(fā)器限制5第五頁,共二十三頁。數(shù)據(jù)庫觸發(fā)器10-3觸發(fā)器語句指定觸發(fā)器定時、事件、表名及類型觸發(fā)器主體是 PL/SQL 塊或?qū)^程的調(diào)用觸發(fā)器限制可以通過 WHEN 子句實現(xiàn)6第六頁,共二十三頁。數(shù)據(jù)庫觸

2、發(fā)器10-4觸發(fā)器的類型應(yīng)用程序觸發(fā)器數(shù)據(jù)庫觸發(fā)器7第七頁,共二十三頁。數(shù)據(jù)庫觸發(fā)器10-5應(yīng)用程序觸發(fā)器在應(yīng)用程序內(nèi)發(fā)生特定 DML 事件時,將隱式觸發(fā)它數(shù)據(jù)庫觸發(fā)器在表、視圖或數(shù)據(jù)庫上發(fā)生特定 DML 事件時,將隱式觸發(fā)它在表和視圖上定義在數(shù)據(jù)庫或方案上,它也可以充當系統(tǒng)觸發(fā)器8第八頁,共二十三頁。數(shù)據(jù)庫觸發(fā)器10-6DML 觸發(fā)器組件觸發(fā)器定時觸發(fā)器事件表名觸發(fā)器類型WHEN 子句觸發(fā)器主體9第九頁,共二十三頁。數(shù)據(jù)庫觸發(fā)器10-7變異表當前正由 DML 語句修改聲明刪除級聯(lián)(引用完整性約束條件)的影響約束表對于 SQL 語句,觸發(fā)語句直接讀取對于聲明的引用完整性約束條件,間接讀取表的變

3、異或約束只是對會話而言的10第十頁,共二十三頁。INSTEAD OF 觸發(fā)器是在視圖上而不是在表上定義的提供修改視圖的透明方法可以針對視圖編寫 INSERT、UPDATE 及 DELETE 語句它以不可見方式在后臺運行執(zhí)行在觸發(fā)器主體中編寫的操作數(shù)據(jù)庫觸發(fā)器10-811第十一頁,共二十三頁。嵌套表上的 INSTEAD OF 觸發(fā)器不能使用 TABLE 子句直接修改視圖中的嵌套列通過 INSTEAD OF 觸發(fā)器進行修改嵌套表上的觸發(fā)器因 DML 操作而觸發(fā)啟用和禁用觸發(fā)器語法如下:alter trigger enable;alter trigger disable; 其中,Trigger_na

4、me 是觸發(fā)器名稱。數(shù)據(jù)庫觸發(fā)器10-912第十二頁,共二十三頁。刪除觸發(fā)器使用以下語法:drop trigger ;其中,trigger_name 是觸發(fā)器名稱。 查看有關(guān)觸發(fā)器的信息使用下列數(shù)據(jù)字典視圖:USER_TRIGGERSALL_TRIGGERSDBA_TRIGGERS數(shù)據(jù)庫觸發(fā)器10-1013第十三頁,共二十三頁。擴展數(shù)據(jù)庫的功能為 PL/SQL 提供對 SQL 功能的訪問用戶 SYS 擁有所有程序包是公共同義詞可以由任何用戶訪問用戶必須具有 EXECUTE 權(quán)限,才能訪問過程和函數(shù)內(nèi)置程序包6-114第十四頁,共二十三頁。其中的一些內(nèi)置程序包如下: 內(nèi)置程序包6-215第十五頁

5、,共二十三頁。DBMS_STANDARD提供語言工具DBMS_ALERT支持數(shù)據(jù)庫事件的異步通知DBMS_OUTPUT允許顯示輸出結(jié)果如果禁用它,則忽略對此程序包的調(diào)用 DBMS_LOB添加用于處理大型對象的實用過程和函數(shù)內(nèi)置程序包6-316第十六頁,共二十三頁。DBMS_OUTPUT 中的一些過程EnableDisablePutPut_lineNew_lineGet_lineGet_lines 內(nèi)置程序包6-417第十七頁,共二十三頁。DBMS_LOBappendcomparecopyerasegetlength內(nèi)置程序包6-518第十八頁,共二十三頁。Oracle9i 中新增程序包的部分列

6、表內(nèi)置程序包6-6程序包名稱 描述 DBMS_AQELM提供過程管理 Advanced Queuing 異步通知的配置(通過電子郵件和 HTTP ) 。 DBMS_FGA提供細粒度安全函數(shù)。 DBMS_FLASHBACK可以閃回到指定時間的數(shù)據(jù)庫版本。 DBMS_LDAP提供從 LDAP 服務(wù)器訪問數(shù)據(jù)的函數(shù)和過程。 DBMS_LibCache通過從遠程實例提取 SQL 和 PL/SQL 并在本地編譯此 SQL(但不執(zhí)行),在 Oracle 實例上準備庫高速緩存。 DBMS_LOGMNR_CDC_PUBLISH準備捕獲并發(fā)布一個或多個 Oracle 關(guān)系源表中的數(shù)據(jù)。 DBMS_LOGMNR_

7、CDC_SUBSCRIBE查看和查詢使用 DBMS_LOGMNR_CDC_PUBLISH 程序包捕獲并發(fā)布的更改數(shù)據(jù)。 DBMS_METADATA從字典檢索完整的數(shù)據(jù)庫對象定義(元數(shù)據(jù))。 DBMS_ODCI根據(jù)用戶函數(shù)的所用時間返回此函數(shù)的 CPU 成本。19第十九頁,共二十三頁。數(shù)據(jù)庫觸發(fā)器是 PL/SQL 塊或存儲過程是在對關(guān)聯(lián)表執(zhí)行 DML 操作時觸發(fā)的數(shù)據(jù)庫觸發(fā)器的三個組成部分是:觸發(fā)器語句觸發(fā)器主體觸發(fā)器限制總結(jié)3-120第二十頁,共二十三頁。觸發(fā)器的類型有:應(yīng)用程序觸發(fā)器和數(shù)據(jù)庫觸發(fā)器變異表是當前正由 DML 語句修改的表約束表是觸發(fā)語句為 SQL 語句直接讀取的表觸發(fā) INST

8、EAD OF 觸發(fā)器,而不是 update、insert 或 delete 語句可以啟用、禁用或刪除觸發(fā)器總結(jié)3-221第二十一頁,共二十三頁。Oracle 提供了許多內(nèi)置程序包,它們用于擴展數(shù)據(jù)庫的功能允許訪問 SQL 功能,這些功能在 PL/SQL 中通常是受到限制的用戶必須具有程序包的 EXECUTE 權(quán)限,才能調(diào)用過程和函數(shù)總結(jié)3-322第二十二頁,共二十三頁。內(nèi)容總結(jié)數(shù)據(jù)庫觸發(fā)器和內(nèi)置程序包。是 PL/SQL 塊或存儲過程。是在對關(guān)聯(lián)表執(zhí)行 DML 操作時觸發(fā)的。還可能具有聲明部分和異常處理部分。指定觸發(fā)器定時、事件、表名及類型。是 PL/SQL 塊或?qū)^程的調(diào)用。在應(yīng)用程序內(nèi)發(fā)生特定 DML 事件時,將隱式觸發(fā)它。在表、視圖或數(shù)據(jù)庫上發(fā)生特定 DML 事件時,將隱式觸發(fā)它。是在視圖上而不是在表上定義的。不能使用 TABLE 子句直接修改視圖中的嵌套

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論