欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          oracle中觸發(fā)器和存儲過程是什么

          oracle中,存儲過程是一組為了完成特定功能的sql語句,存儲在數(shù)據(jù)庫中,存儲過程能夠反復(fù)使用,減少開發(fā)人員工作量;而觸發(fā)器是數(shù)據(jù)庫提供給程序員和數(shù)據(jù)分析員來保證數(shù)據(jù)完整性的一種方法,它是與表事件相關(guān)的特殊的存儲過程。

          oracle中觸發(fā)器和存儲過程是什么

          本教程操作環(huán)境:Windows7系統(tǒng)、Oracle 11g版、Dell G3電腦。

          oracle中觸發(fā)器是什么

          觸發(fā)器(trigger)是數(shù)據(jù)庫提供給程序員和數(shù)據(jù)分析員來保證數(shù)據(jù)完整性的一種方法,它是與表事件相關(guān)的特殊的存儲過程。由事件觸發(fā)。

          觸發(fā)器在觸發(fā)一定事件的時候隱式執(zhí)行的一段sql語句,觸發(fā)器不能接收參數(shù)。Oracle觸發(fā)器則是觸發(fā)Oracle數(shù)據(jù)庫中對數(shù)據(jù)庫進行insert、update、delete操作或?qū)σ晥D進行類似的操作,還有一些系統(tǒng)的事件,比如數(shù)據(jù)庫的關(guān)閉或開啟。

          觸發(fā)器的分類有哪些?

          (1)、數(shù)據(jù)操縱語言(DML)觸發(fā)器:創(chuàng)建在表上,有DML時間來觸發(fā)的觸發(fā)器;

          (2)、替代(instead of)觸發(fā)器:創(chuàng)建在視圖上,用來替換對視圖進行添加、修改和刪除操作。

          (3)、數(shù)據(jù)定義語言(DDL)觸發(fā)器:定義在模式上,觸發(fā)事件是對數(shù)據(jù)庫對象的創(chuàng)建和修改操作。

          (4)、數(shù)據(jù)庫系統(tǒng)觸發(fā)器:定義在整個數(shù)據(jù)庫上,觸發(fā)的時間是數(shù)據(jù)庫的操作,比如數(shù)據(jù)庫的啟動和關(guān)閉。

          觸發(fā)器的組成部分有哪些?

          (1)、觸發(fā)的事件:即在何種情況下觸發(fā)trigger,例如:insert、update、delete。

          (2)、觸發(fā)的時間:即該trigger是在觸發(fā)事件之前(before)還是在觸發(fā)事件之后(after),也是觸發(fā)的事件和該trigger主體的先后順序。

          (3)、觸發(fā)器本身:即觸發(fā)器在觸發(fā)事件的時候要執(zhí)行的操作,例如:pl/sql塊。

          (4)、觸發(fā)的頻率:說明該觸發(fā)器內(nèi)定義的動作被執(zhí)行的次數(shù)。即語句級觸發(fā)器和行級觸發(fā)器。語句級觸發(fā)器是指當(dāng)某個事件發(fā)生時,該觸發(fā)器只執(zhí)行一次。而行級觸發(fā)器,在某個事件發(fā)生時,對受到該操作影響的每一行數(shù)據(jù),都會單獨執(zhí)行一次觸發(fā)器。

          oracle中存儲過程是什么

          存儲過程(Stored Procedure)是在大型數(shù)據(jù)庫系統(tǒng)中,一組為了完成特定功能的SQL 語句集,存儲在數(shù)據(jù)庫中,經(jīng)過第一次編譯后再次調(diào)用不需要再次編譯,用戶通過指定存儲過程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來調(diào)用存儲過程。

          簡單的說就是專門干一件事一段sql語句。

          存儲過程能夠反復(fù)使用,減少開發(fā)人員工作量。

          在oracle數(shù)據(jù)庫中存儲過程是procedure。

          為什么要寫存儲過程

          1.效率高

          存儲過程編譯一次后,就會存到數(shù)據(jù)庫,每次調(diào)用時都直接執(zhí)行。而普通的sql語句我們要保存到其他地方(例如:記事本 上),都要先分析編譯才會執(zhí)行。所以想對而言存儲過程效率更高。

          2.降低網(wǎng)絡(luò)流量

          存儲過程編譯好會放在數(shù)據(jù)庫,我們在遠程調(diào)用時,不會傳輸大量的字符串類型的sql語句。

          3.復(fù)用性高

          存儲過程往往是針對一個特定的功能編寫的,當(dāng)再需要完成這個特定的功能時,可以再次調(diào)用該存儲過程。

          4.可維護性高

          當(dāng)功能要求發(fā)生小的變化時,修改之前的存儲過程比較容易,花費精力少。

          5.安全性高

          完成某個特定功能的存儲過程一般只有特定的用戶可以使用,具有使用身份限制,更安全。

          推薦教程:《Oracle教程》

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號