必威电竞|足球世界杯竞猜平台

程序包
來源:互聯網

表示嵌入或鏈接信息的圖標。此信息可以包含整個文件(如位圖文件)或部分文件(如電子表格中的某個單元)。當選擇此數據包時,用于創建對象的應用程序將播放對象(如聲音文件)或者打開并顯示對象。如果更改原始信息,鏈接的信息將自動更新。但必須手動更新嵌入信息。

概述

可以利用包(package)將過程和函數安排在邏輯分組中。包含有兩個分離的部件;包說明(規范、包頭市)和包體(主體)。包說明和包體都存儲在數據字典中。包與過程和函數的一個明顯的區別時,包僅能存儲在非本地的數據庫中。除了允許相關的對象結合為組之外,包與依賴性較強的存儲子程序相比其所受的限制較少。除此之外,包的效率比較高。

從本質上講,包是一個命名的聲明部分。任何可以顯示在塊聲明中的語句都可以在包中使用,這些語句包括過程、函數、游標、類型和變量。把上述內容放入包中的好處是,用戶可以從其他PL/SQL塊中對其進行引用,包為PL/SQL語言提供了全程變量。

創建程序包

包的創建分為包頭市的創建和包體的創建兩部分。

(1)包頭。創建包頭的語法格式為:

CREATE OR REPLACE PACKAGE [Schema]package_name /*包頭名稱*/

IS | AS pl/sql_package_spec /*定義過程、函數等*/

其中:

schema:指定將要創建的包所屬用戶方案。

Package_name:將要創建的包的名稱。

Pl/SQL_package_spec:變量、常量及數據類型定義;游標定義;函數、過程定義和參數列表返回類型。

(2)創建包體的語法格式為:

CREATE OR REPLACE PACKAGE BODY[Schema]package_name

IS | AS pl/sql_package_body

其中:

schema:指定將要創建的包所屬用戶方案。

Pl/sql_package_body:游標、函數、過程的具體定義。

包體是一個獨立于包頭市的數據字典對象。包體只能在包頭完成編譯 后才能進行編譯。包體中帶有實現包頭中描述的前向子程序的代碼 段。除此之外,包體還可以包括具有包體全局屬性的附加聲明部 分,但這些附加說明對于說明部分是不可見的。

包的應用

調用包

在創建了包說明和相應的包體之后,就可以調用該包的各個組件了。對包內公有組件的調用格式要用到包名并加“.”作為限定詞,即包名。組件名稱。

包的重載

在包的內部,過程和函數可以重載??梢杂忻Q相同的對象。

刪除包

當不在需要某個程序包時,可以將其刪除。如果只刪除包體,可以使用命令:

DROP PACKAGE BODY package_name;

如果要同時刪除包頭市,可以使用命令:

DROP PACKAGE package_name;

參考資料 >

生活家百科家居網