创建Oracle包是我们在使用Oracle数据库时最常见的操作之一,下面就为您介绍创建Oracle包规范的语法,希望对您能有所帮助。
包是一种将过程、函数和数据结构捆绑在一起的容器;包由两个部分组成:外部可视包规范,包括函数头,过程头,和外部可视数据结构;另一部分是包主体(package body),包主体包含了所有被捆绑的过程和函数的声明、执行、异常处理部分。
打包的PL/SQL程序和没有打包的有很大的差异,包数据在用户的整个会话期间都一直存在,当用户获得包的执行授权时,就等于获得包规范中的所有程序和数据结构的权限。但不能只对包中的某一个函数或过程进行授权。包可以重载过程和函数,在包内可以用同一个名字声明多个程序,在运行时根据参数的数目和数据类型调用正确的程序。
创建Oracle包必须首先创建包规范,创建Oracle包规范的语法如下:
- CREATE [OR REPLACE] PACKAGE package_name
- {AS|IS}
- public_variable_declarations |
- public_type_declarations |
- public_exception_declarations |
- public_cursor_declarations |
- function_declarations |
- procedure_specifications
- END [package_name]
创建包主体使用CREATE PACKAGE BODY语句:
- CREATE [OR REPLACE] PACKAGE BODY package_name
- {AS|IS}
- private_variable_declarations |
- private_type_declarations |
- private_exception_declarations |
- private_cursor_declarations |
- function_declarations |
- procedure_specifications
- END [package_name]
私有数据结构是那些在包主体内部,对被调用程序而言是不可见的。