Oracle中包的使用

來源:互聯網
上載者:User

Oracle中包的使用

使用程式包主要是為了實現程式的模組化,程式包可以將相關的預存程序,函數,變數,常量和遊標等PL/SQL程式組合在一起,通過這種方式可以構供程式人員重用的程式碼程式庫。另外,當首次調用程式包中的預存程序或函數等元素是,Oracle會將整個程式包調入記憶體,在下次調用程式包中的元素時,Oracle就可以之際從記憶體中讀取,從而提程式的運行效率。

程式包主要包括兩個部分:包規範和包體。其中,

  • 包規範用於列出包中可用的預存程序、函數和遊標等元素條目(不含這些元素的實際代碼),這些條目屬於公有項目,可以供所有的資料庫使用者訪問。

  • 包體中則包含了元素的實際代碼,同時,也可以在包體中建立規範中沒有提到的項目,那麼這些項目都屬於私人項目,只能在包體中使用。

建立包規範

建立包規範需要使用CREATE PACKAGE 語句,其簡要文法如下

CREATE [OR REPLACE] PACKAGE package_name {IS|AS} package_specification; END package_name;
 - package_name 建立的包名 - package_specification 用於列出使用者可以使用的公用預存程序、函數、類型和對象
建立包體

建立包體需要使用CREATE PACKAGE BODY語句,並且在建立時需要指定已建立的包,其簡要文法如下:

CREATE [OR REPLACE] PACKAGE BODY package_name {IS|AS} package_body END package_name;
執行個體

具體執行個體如下:
1.建立包規範

CREATE OR REPLACE PACKAGE common_pkg IS FUNCTION tax(value IN NUMBER) RETURN NUMBER; END common_pkg;

2.建立包體

CREATE OR REPLACE PACKAGE BODY common_pkg IS FUNCTION tax(value IN NUMBER) RETURN NUMBER IS rate NUMBER:=0.08; BEGIN RETURN (value*rate); END tax; END common_pkg;

調用包中的函數,

SELECT common_pkg.tax(sal) FROM emp;

相關文章

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.