程序包主要分为 包头和 包体两个部分。
包头(Package Header)
包头部分声明了包内数据类型、常量、变量、游标、子程序和异常错误处理等元素,这些元素为包的公有元素。
包头类似于C语言中的头文件,用于声明方法和类型。
创建包头的语法格式为:`CREATE OR REPLACE PACKAGE [schema.]package_name /*包头名称*/ IS | AS pl/sql_package_spec /*定义过程、函数等*/`,其中:
`schema`:指定将要创建的包所属用户方案。
`package_name`:将要创建的包的名称。
`pl/sql_package_spec`:变量、常量及数据类型定义;游标定义;函数、过程定义和参数列表返回类型。
包体(Package Body)
包体部分包含了实现包头中声明的过程、函数等的具体代码。
创建包体的语法格式为:`CREATE OR REPLACE PACKAGE BODY package_name IS | AS BEGIN /*包体内容*/ END;`,其中:
`package_name`:与包头中声明的名称相同。
`BEGIN`和`END`之间是包体的具体实现代码。
通过将相关的过程、函数、变量、常量和游标等组合在一起,程序包可以实现模块化,从而提高程序的编写效率和可维护性。