PACKAGE是接口定义,包括类型定义,变量,对外接口的函数和存储过程PACKAGE BODY是实际的函数和存储过程的实现
就好比java的接口和实现的类的区别!接口只提供抽象方法的定义,然后由别的类来继承这个接口,并实现抽象方法体!package也是提供方法和变量的定义,然后由package来实现每一个方法体!
package:
create or replace package my_bao
as
type sys_dep_r is record(
doid sys_dep.doid%type,
depid sys_dep.depid%type,
depname sys_dep.depname%type
);
procedure hello(p_name varchar2);
function f_add(p1 number,p2 number) return number;
end;
package body:
create or replace package body my_bao
as
type sys_dep_r is record(
doid sys_dep.doid%type,
depid sys_dep.depid%type,
depname sys_dep.depname%type
);
procedure hello(p_name varchar2)
as
begin
dbms_output.put_line('hello,'||p_name);
end;
function f_add(p1 number,p2 number) return number
as
v1 number;
begin
v1:=p1+p2;
return v1;
end;
end;