PACKAGE同PACKAGE BODY的区别

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;


你可能感兴趣的:(PACKAGE同PACKAGE BODY的区别)