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