一:程序包的说明
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