1. 程式人生 > >程式包+建立包規範+建立包體+刪除程式包

程式包+建立包規範+建立包體+刪除程式包

程式包
1作用是為了實程式模組化
2程式包裡面可以包含儲存過程,函式,變數,遊標等PL/SQL程式
3程式包類似java的jar包,儲存過程,函式,變數,遊標等相當jar包提供的方法
4呼叫程式包裡面的儲存過程,函式等元素時,oracle會把程式包調入記憶體,下次是使用,直接從記憶體讀取。
5程式包組成
1)包規範:列出程式包可用的儲存過程,函式,遊標等元素條目(不含實際程式碼),這些元素條目屬於公有專案,可以供所有資料庫使用者訪問
2)包體:包含元素的實際程式碼,同時也可以在包體中建立包規範中沒有提到的專案,
那麼這些專案屬於私有專案,只能在包體中使用.

建立包規範
語法
create 【or replace】package package_name
{is | as }
package_specification;
end package_name;

package_name:包名
package_specification:列出使用者可以使用的公有專案(儲存過程,函式,型別和物件)

舉例
create or replace package tool_package
as
function sum_function(a in number default 0,b in number default 0) return number;
procedure update_student2(no in varchar2,name in varchar2) ;
end tool_package;
這裡寫圖片描述

建立包體

create 【or replace】package body package_name
{is | as }
package_body;
end package_name;

package_name:建立包規範時指定的包名
舉例

create or replace package body tool_package
as
/* 儲存過程update_student2*/
procedure update_student2(no in varchar2,name in varchar2)
as
begin
update student2 set sname=name where sno=no;
end update_student2;

/* 函式sum_function*/
function sum_function(a in number default 0,b in number default 0)
return number
as
ssum number(10):=0;
begin
ssum:=(a+b);
return ssum;
end sum_function ;
end tool_package;
這裡寫圖片描述

程式包的呼叫

這裡寫圖片描述

這裡寫圖片描述
這裡寫圖片描述

刪除程式包
語法
drop package package_name
舉例
drop package tool_package;
這裡寫圖片描述