Oracle學習筆記 包

2021-08-21 03:22:58 字數 2040 閱讀 6408

1、概念:包實際是一種封裝,裡面可以包含常量、函式、儲存過程等。

1.1、宣告乙個包

create or replace package packageaboutcicle

is --宣告常量

pi constant number:=3.14;

--宣告函式

function f_getc(r number)

return number;

--宣告儲存過程

procedure proc_area(r number);

end;

1.2、定義乙個主體,也就是包體,實現包體要求的內容

create or replace package body packagebodycicle

as function f_getc(r number) return number

isbegin

end;

procedure proc_area(r number)

isbegin

end;

end;

2、例項

銀行轉賬

--2.1、宣告乙個包

create or replace package packageacount

is --宣告函式

function get_remaining(name varchar2)

return number;

--宣告儲存過程

procedure transfer(fromname in varchar2, money in number, toname varchar2);

end;

--2.2、為包定義乙個包體

create or replace package body packageacount

as function get_remaining(name varchar2) return number

isleft_money number;

begin

select f_money into left_money

from t_account

where f_name = name;

return left_money;

end;

procedure transfer(fromname in varchar2, money in number, toname in varchar2)

isbegin

if money > get_remaining(fromname) then

dbms_output.put_line('餘額不足');

elsif money<1 then

dbms_output.put_line('轉賬金額要大於1元');

else

update t_account set f_money = f_money + money where f_name = toname;

update t_account set f_money = f_money - money where f_name = fromname;

commit;

end if;

exception

when others then

dbms_output.put_line('轉賬異常');

rollback;

end;

end;

--2.3、呼叫包

declare

t_fromname varchar2(10);

t_money number;

t_toname varchar2(10);

begin

t_fromname :='&請輸入轉賬人';

t_money :='&請輸入轉賬金額';

t_toname :='&請輸入轉賬接收人';

packageacount.transfer(t_fromname,t_money,t_toname);

end;

oracle學習筆記之包

定義乙個包,包裡面包含乙個儲存過程 update emp,和乙個函式sp fun2 create or replace package sp package1 is procedure update emp names varchar2,nums number function sp fun2 na...

Oracle學習筆記 6 程式包使用

程式包主體 首先執行 create or replace package mypack isprocedure employee2 proc employeeid number function employee2 function return varchar2 end 其次執行 create o...

oracle 學習筆記

本地網路服務名配置 在客戶機的 oracle oracle90 network admin 安裝目錄下有乙個名為tnsnames.ora的命名檔案,其中儲存的就是本地命名的配置.當客戶機應用程式提出登入要求時,其使用的連線字串被命名檔案解析.在命名檔案裡儲存的是與連線字串對應的網路位址.例如 mys...