Oracle學習--->9、包

來源:互聯網
上載者:User

標籤:開啟   效能   多個   不包含   記錄類型   功能   編譯   作用   正常化   

1、理解PL/SQL包

  • 包 (package)的主要作用是用於邏輯組合相關的PL/SQL類型,比如記錄類型或集合類型,PL/SQL遊標或遊標聲明以及PL/SQL子程式,還可以包含任何可以在塊的聲明區在這種定義的變數
  • 一旦建立包,包就會被儲存在Oracle資料庫中,可以將包放在共用池中,以便被多個應用程式共用和調用

2、什麼是包

  • PL/SQL由兩部分組成
    • 包規範:主要是包的一些定義資訊,不包含具體的代碼實現部分,也可以說包規範是PL/SQL程式和其他應用程式的介面部分,包含類型、記錄、變數、常量、異常定義、遊標被子程式聲明
    • 包體:包體是對包規範中聲明的子程式的實現部分,包體的內容對於外部應用程式來說是不可見的,包體就像一個黑匣子,是對包規範的實現

3、包的優點

  • 模組化設計:通過將邏輯相關的類型、常量、變數、異常和子程式放到一個命名的PL/SQL模組化中,使得每一個包都容易理解,有助於模組化程式開發
  • 正常化的程式設計:在基於包的應用程式設計時,可以首先規劃並在包規範中定義包需要提供的功能,即便當前並沒有實現包體,也可以編譯包規範部分,然後引用該包的儲存子程式會被編譯
  • 實現資訊的隱藏:包規範中定義的常量、變數和異常及子程式等是公有的,可以被外部存取,可以規劃將哪些內容公開給外部進行調用,如果不想對外公開,可以在包體中定義這些內容從而隱藏這些資訊
  • 提供全域共用的附加功能:這個功能是指在包中公開的變數或者遊標在一定會話期一直存在,並且可以被當前環境下的所有子程式共用,因此可以將包中定義的變數當做全域變數使用
  • 提供良好的效能體驗:由於在首次開啟包子程式時,整個包都會被載入到記憶體中,因而後續的調用只需要從記憶體中讀取而不需要再次讀取磁碟,提供較好的效能

4、定義包的規範

 

Oracle學習--->9、包

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.