|
包
包是一组相关的PL/SQL过程和函数。它由两个分开的部分组成。一个是包的说明部分,另一个是包体。
例如我们可以建立一个对学生信息进行操作的包,它应包括操作和查询学生信息的相关过程和函数。
包的说明:
语法:
CREATE [OR REPLACE] PACKAGE 包名称 IS
声明部分
END 包名称;
说明部分:由类型、变量、游标、过程和函数的说明组成。
有表如下:
Stu_id name sex
例: 以下是一个学生信息管理系统的包说明
CREATE OR REPLACE package STUpack IS
Function maximum return varchar2 ;
Procedure RECORDINFO(name in varchar2);
End;
在此包中,有maximum函数和recordinfo过程。
包体的说明
包体含有包的公用和专用元素,它隐藏了游标、过程和函数在实际中是如何实现的细节,这些细节对于开发者是隐藏的。
语法:
CREATE PACKAGE 包名称 body IS
说明部分
过程体
函数体
END 包名称;
例:对上例说明的包进行包体的说明
CREATE OR REPLACE package body STUpack is
Function maximum return varchar2 is
ma varchar(5);
begin
select max(stu_id) into ma from students ;
return ma;
end;
Procedure RECORDINFO(name in varchar2) is
ma varchar(5);
begin
ma:=maximum;
insert into students
values(ma+1,name,null);
end;
end;
调用包的函数和过程的方法:
例:以下调用stupack包中的maxium函数查找最大学号并显示
begin
dbms_output.put_line(stupack.maximum);
end;
例:以下调用recordinfo过程将姓名为’sheng’的学生录入表中。学生自动生成。
Begin
Stupack.recordinfo(‘sheng’);
End; |
|