Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
前面很多范例中都用到的 dbms output.put_line 实际上就是一个典型的程序包应用,
其中 dbms output是程序包的名称,put_line 是该程序包中定义的一个存储过程所谓程序包,
实际上是一个独立的程序单元,其中把存储过程和函数封装起来,以完成许多操作。
当然,在程序包中还包含各种程序元素,例如常量、变量等。
程序包编译后存储在 Oracle 数据库中,可以被其他应用程序调用,它具有模块化结构,方便应用程序设计。
程序包由包规范和包体两部分组成,因此程序包的创建也分为两部分,分别为包规范的创建和包体的创建。
包规范的创建
包规范提供应用程序的接口,在包规范中声明程序包中可以使用的变量、数据类型、存储过程、函数、异常等。不过函数和过程只包括原型信息,
即只有头部的声明,不包括任何实现的代码,其实现代码在包体中定义。下面是其语法格式。
CREATE OR REPLACE PACKAGE 程序包名称
ISIAS
类型声明1变量声明1异常声明|过程声明|函数声明END[程序包名称】
包体的创建
在包体中包含包规范中声明的过程和函数的实现代码,此外,
还可以声明其他没有在包规范中声明的变量、类型、过程、函数,但它们只能在包中使用,不能被其他应用程序调用。
下面是其语法格式。
CREATE OR REPLACE PACKAGE BODY程序包名称
ISIAS
[<内部变量声明 >]
[过程体]
[函数体 ]
END[程序包名称1]