Oracle程序包介绍
1、该“规范”用于规定在程序包中可以使用哪些变量、类型、游标和子程序(指各种命名的PL/SQL块),需要注意的是:程序包一定要在“包主体”之前被创建,器语法格式如下:
create {or replace} package pack_name is
[declare_variable];
[declare_type];
[declare_cursor];
[declare_function];
[declare_produce];
end [pack_name];
2、例如:创建一个程序包的“规范”,首先在该程序包中声明一个可以获取指定部门的平均工资的函数,然后再声明一个可以实现按照指定比例上调指定职务的工资的存储过程
1、程序包的主体包含了在规范中声明的游标、过程和函数的实现代码。另外,也可以在“程序包的主体”中声明一些内部变量。程序包主体的名称必须与规范的名称相同,这样通过这个相同的名称Oracle就可以让“规范”和“主体”结合在一起组成程序包,并实现一起进行代码编译。在实现函数或存储过程主体时,可以将每一个函数或存储过程作为一个独立的PL/SQL块来处理。与创建“规范”不同的是,创建“程序包主体”使用CREATE PACKAGE BODY语句,而不是CREATE PACKAGE。创建程序包主体的代码如下:
create [or replace] package body pack_name is
[inner_variable]
[cursor_body]
[function_title]
{begin
fun_plsql;
[exception]
[dowith_sentences;]
end [fun_name]}
[procedure_title]
{begin
pro_plsql;
[exception]
[dowith_sentences;]
end [pro_name]}
...
end [pack_name];