来源:互联网 发布:linux 内存被踩 编辑:程序博客网 时间:2024/04/25 12:54

oracle中的包用于逻辑组合相关的pl/sql类型,项和子程序,有包规范和包体组成。当建立包时,需要首先建立包规范,再建立包体。

1.建立包规范

 

        create or replace package package_name

        IS | As

                v_name v_type;

                procedure p_name;

                function f_name;

        END package_name;

   当执行以上命令后会建立包规范,但因为只定义了函数名和过程名头部,没有实现,所以这些函数和过程只有在定义了包体后才能使用。

 

2.建立包体

    包体用于实现包规范所定义的过程和函数。在包体中定义的函数,过程和变量只能在包中使用,而不能有其他程序引用。

    建立包体语法如下:

    create or replace package body package_name

    IS | AS

    private  type and declarations;

    实现包体中的函数和过程;

 

   end package_name;

 

3.调用包组件

  对于包的私有组件,只能在包中调用,并且可以直接调用。对于共有组件既可以在包中调用也可以其他应用程序中调用,但是在其他程序中必须加包名作为前缀。

4。 查看包源代码

     select * from user_source where name='P_VALY';

 

执行结果片段如下:

5.删除包

    drop package p_valy;

 

 

 

包的示例代码:

 

包体的代码:

原创粉丝点击