PACKAGE同PACKAGE BODY的区别

来源:互联网 发布:从ncbi下载转录组数据 编辑:程序博客网 时间:2024/04/29 04:08

PACKAGE是接口定义,包括类型定义,变量,对外接口的函数和存储过程PACKAGE BODY是实际的函数和存储过程的实现


就好比java的接口和实现的类的区别!接口只提供抽象方法的定义,然后由别的类来继承这个接口,并实现抽象方法体!package也是提供方法和变量的定义,然后由package来实现每一个方法体!


package:

create or replace package my_baoastype 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_baoastype 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)asbegin    dbms_output.put_line('hello,'||p_name);end;function f_add(p1 number,p2 number) return numberas    v1 number;begin     v1:=p1+p2;     return v1;end;end;