南大通用GBase 8s兼容PL/SQL
之PACKAGE包
包是一组相关过程、函数、变量、常量、类型、游标和异常等PL/SQL程序设计元素的
组合。包具有面向对象设计的特点,是对这些PL/SQL程序设计元素的封装。包像一个容器
或一个命名空间,可以将各种逻辑相关的过程、函数、变量、常量、类型、游标和异常结
合在一起。为开发人员编写大型复杂应用程序提供良好的组织单元。当包被定义好后,应
用程序可以通过包来访问各种不同的功能单元,而不用担心过多零散的子程序导致程序代
码的松散。包具有简化应用设计、提高应用性能、实现信息隐藏、子程序重载等特点。对
包中涉及的过程、函数、变量、常量、类型、游标和异常等PL/SQL程序设计元素如无特殊
约束说明,其用法和现状保持一致。
南大通用在GBase 8s中兼容ORACLE的包及相关PL/SQL程序设计元素。
1、 包的创建
一个PL/SQL包由如下两部分组成:包头,或称为包的规范:主要是包的一些定义信
息,不包含具体的代码实现部分,也可以说包头是PL/SQL程序和其他应用程序的接口,包
含子程序、变量、常量、类型、游标和异常的声明。包体:是对包规范中声明的子程序和
游标的实现部分,包体的内容对于外部应用程序来说是不可见的,包体就像是一个黑匣子
一样,是对包规范的实现。注意:包头中子程序和游标是需要实现部分的,如果包头中没
有声明子程序或游标,则包体就不是必须的。
2、 包的删除
DROP PACKAGE会将包头和包体一并删除,也可以通过DROP PACKAGE BODY关键字只
删除包体,此时包头依然有效。
3、 包的引用
包在首次引用时实例化并执行initialize_section部分,包为SESSION级,即多SESSION
之间是不同的包实例。
评论