首页 > 代码库 > Oracle- 包

Oracle- 包

  在一个大型项目中,可能有很多模块,而每个模块又有自己的过程、函数等。而这些过程、函数默认是放在一起的(如在PL/SQL中,过程默认都是放在一起的,即Procedures中),这些非常不方便查询和维护。通过使用包就可以分类管理过程和函数。而且在包中还可以自定义自定义类型,从而在过程和函数中可以直接使用自定义变量。Oracle中包的概念与JAVA中包的概念非常类似,只是JAVA中的包是为了分类管理类,但是关键字都是package。
  包分两部分,包规范和包体。

  1、包头(包规范)

create or replace package P_TEST is  -- Author  : 春晓  -- Created : 2015-01-08 15:25:17  -- Purpose : 学习、测试包  procedure pro_student_update(pname varchar, page number);  procedure pro_student_add(pname varchar, page number);  procedure pro_student_delete(pname varchar);end P_TEST;

  2、包体

create or replace package body P_TEST as  --对学生表的操作 更新  procedure pro_student_update(pname varchar, page number) as  begin    update t_student set age = page where sname = pname;  end;  --对学生表的操作 新增  procedure pro_student_add(pname varchar, page number) as  begin    insert into t_student    values      (pname, page, to_date(1990-09-09, yyyy-MM-dd));  end;  --对学生表的操作 删除  procedure pro_student_delete(pname varchar) as  begin    delete t_student where sname = pname;  end;end P_TEST;

  调作示例:

  call p_test.pro_student_add(‘kk‘,12);
  call p_test.pro_student_update(‘kk‘,22);
  call p_test.pro_student_delete(‘kk‘);

Oracle- 包