PL/SQL学习笔记-程序包

一:程序包的说明

create or replace package p_xland
is
pragma serially_reusable;
v_val varchar2(32);
function set_val(ref_val varchar2) return varchar2;
end p_xland;

程序包可以包含多个变量,函数,过程。
函数或过程应该放在变量之后声明
pragma serially_reusable;决定创建的包是否可以连续使用。
有此句,调用包的时候结果将不受以前调用所影响

二:程序包体

create or replace package body p_xland
is
pragma serially_reusable;
function set_val(ref_val varchar2) return varchar2
is
begin
v_val := ref_val;
return 'myreturnval';
end set_val;
end p_xland;

程序包体和程序包的名字必须相同
程序包体内的过程或者函数与普通的过程函数相同
总之程序包就像一个对象

三:调用程序包

declare
v_myval varchar2(32):='xland';
begin
p_xland.v_val := v_myval;
dbms_output.put_line(p_xland.v_val);
v_myval := p_xland.set_val('xland2');
dbms_output.put_line(p_xland.v_val);
dbms_output.put_line(v_myval);
end;


下面是执行结果:

xland
xland2
myreturnval


四:删除程序包

drop package body your_pb_name
drop package your_p_name
posted @ 2009-08-09 08:07  liulun  阅读(930)  评论(0编辑  收藏  举报