Oracle是目前廣泛應用的一種數據庫技術,其中的包可謂是開發者最為熟悉且也最重要的一個概念。簡單來說,Oracle的包就是一種邏輯上的封裝對象,將一些相關的變量和程序集合在一起,以便于對其進行集合管理。以下將從包的定義、定義一個包、使用一個包等幾個方面簡要介紹Oracle包的使用。
1.包的定義
在Oracle中,包是指將數據和過程/函數,通過存儲成員的方式,一起組合成一個整體對象。包主要有兩個部分:標準部分和主體部分。標準部分是過程、函數、常量、游標等的聲明區,主體部分包含實現上述程序的存儲位置、存儲規則、以及這些程序使用的具體算法。可以通過CREATE PACKAGE語句定義一個包。
CREATE OR REPLACE PACKAGE EXAMPLE_PKG AS --定義一個包 PROCEDURE MAILER(IN_TEXT VARCHAR2); END EXAMPLE_PKG;
2.定義一個包
在上面的語句中,當我們想要使用一個包的時候還需要明確以下兩點:
- 首先,需要將該包在數據庫中存儲。再次強調,包分為兩個部分:標準部分和主體部分。我們可以將這兩個部分分別定義在example_pkg_header和example_pkg_body中并分別存儲。
- 其次,在我們定義好一個包之后,就需要在調用程序中調用該包。調用一個包的示例代碼如下:
--定義example_pkg_header和example_pkg_body并分別存儲 CREATE OR REPLACE PACKAGE EXAMPLE_PKG_HEADER AS PROCEDURE MAILER(IN_TEXT VARCHAR2); END EXAMPLE_PKG_HEADER; CREATE OR REPLACE PACKAGE BODY EXAMPLE_PKG_BODY AS --存放過程和函數的主體部分 PROCEDURE MAILER(IN_TEXT VARCHAR2) IS BEGIN DBMS_OUTPUT.PUT_LINE('Mailer in EXAMPLE_PKG_BODY is executed..'); END; END EXAMPLE_PKG_BODY; --調用example_pkg BEGIN EXAMPLE_PKG.MAILER('Hello, Friend!'); END;
3.使用一個包
一個包定義好之后,我們就可以在其他程序中進行調用。例如此前提到的例子,我們現在再來看一下如何調用之前定義好的EXAMPLE_PKG。
--調用example_pkg BEGIN EXAMPLE_PKG.MAILER('Hello, Friend!'); END;
在上述代碼中,我們使用了EXAMPLE_PKG.MAILER來調用該包。也就是說,我們可以通過包名.程序名的方式調用到一個包中的相應程序。當然,在調用之前還需要先使用CREATE OR REPLACE PACKAGE創建該包。
總之,Oracle包無疑是在日常數據開發過程中不可或缺的一部分,該技術可以為各位開發者提供了更輕松的管理方式和更好的代碼優化方法。
上一篇debian php 源
下一篇k29 macOS 教程