请输入您要查询的百科知识:

 

词条 程序包
释义

简述

表示嵌入或链接信息的图标。此信息可以包含整个文件(如位图文件)或部分文件(如电子表格中的某个单元)。当选择此数据包时,用于创建对象的应用程序将播放对象(如声音文件)或者打开并显示对象。如果更改原始信息,链接的信息将自动更新。但必须手动更新嵌入信息。

概述

可以利用包(package)将过程和函数安排在逻辑分组中。包含有两个分离的部件;包说明(规范、包头)和包体(主体)。包说明和包体都存储在数据字典中。包与过程和函数的一个明显的区别时,包仅能存储在非本地的数据库中。除了允许相关的对象结合为组之外,包与依赖性较强的存储子程序相比其所收的限制较少。除此之外,包的效率比较高。

从本质上讲,包是一个命名的声明部分。任何可以出现在块声明中的语句都可以在包中使用,这些语句包括过程、函数、游标、类型和变量。把上述内容放入包中的好处是,用户可以从其他PL/SQL块中对其进行引用,包为PL/SQL语言提供了全程变量。

创建程序包

包的创建分为包头的创建和包体的创建两部分。

(1)包头。创建包头的语法格式为:

CREATE OR REPLACE PACKAGE [schema.]package_name /*包头名称*/

IS | AS pl/sql_package_spec /*定义过程、函数等*/

其中:

schema:指定将要创建的包所属用户方案。

Package_name:将要创建的包的名称。

Pl/sql_package_spec:变量、常量及数据类型定义;游标定义;函数、过程定义和参数列表返回类型。

(2)创建包体的语法格式为:

CREATE OR REPLACE PACKAGE BODY[schema.]package_name

IS | AS pl/sql_package_body

其中:

schema:指定将要创建的包所属用户方案。

Pl/sql_package_body:游标、函数、过程的具体定义。

包体是一个独立于包头的数据字典对象。包体只能在包头完成编译 后才能进行编译。包体中带有实现包头中描述的前向子程序的代码 段。除此之外,包体还可以包括具有包体全局属性的附加声明部 分,但这些附加说明对于说明部分是不可见的。

包的应用

1.调用包

在创建了包说明和相应的包体之后,就可以调用该包的各个组件了。对包内公有组件的调用格式要用到包名并加“.”作为限定词,即包名.组件名称。

2.包的重载

在包的内部,过程和函数可以重载。可以有名称相同的对象。

3.删除包

当不在需要某个程序包时,可以将其删除。如果只删除包体,可以使用命令:

DROP PACKAGE BODY package_name;

如果要同时删除包头,可以使用命令:

DROP PACKAGE package_name;

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/4/15 18:52:49