程序包
1作用是为了实程序模块化 2程序包里面可以包含存储过程,函数,变量,游标等PL/SQL程序 3程序包类似java的jar包,存储过程,函数,变量,游标等相当jar包提供的方法 4调用程序包里面的存储过程,函数等元素时,oracle会把程序包调入内存,下次是使用,直接从内存读取。 5程序包组成 1)包规范:列出程序包可用的存储过程,函数,游标等元素条目(不含实际代码),这些元素条目属于公有项目,可以供所有数据库用户访问 2)包体:包含元素的实际代码,同时也可以在包体中创建包规范中没有提到的项目, 那么这些项目属于私有项目,只能在包体中使用.创建包规范
语法 create 【or replace】package package_name {is | as } package_specification; end package_name;package_name:包名
package_specification:列出用户可以使用的公有项目(存储过程,函数,类型和对象)举例
create or replace package tool_package as function sum_function(a in number default 0,b in number default 0) return number; procedure update_student2(no in varchar2,name in varchar2) ; end tool_package;创建包体
create 【or replace】package body package_name
{is | as } package_body; end package_name;package_name:创建包规范时指定的包名
举例create or replace package body tool_package
as /* 存储过程update_student2*/ procedure update_student2(no in varchar2,name in varchar2) as begin update student2 set sname=name where sno=no; end update_student2;/* 函数sum_function*/
function sum_function(a in number default 0,b in number default 0) return number as ssum number(10):=0; begin ssum:=(a+b); return ssum; end sum_function ; end tool_package;程序包的调用
删除程序包
语法 drop package package_name 举例 drop package tool_package;