Heim  >  Artikel  >  Datenbank  >  Oracle中包的使用

Oracle中包的使用

WBOY
WBOYOriginal
2016-06-07 16:08:131321Durchsuche

使用程序包主要是为了实现程序的模块化,程序包可以将相关的存储过程,函数,变量,常量和游标等PL/SQL程序组合在一起,通过这种

使用程序包主要是为了实现程序的模块化,程序包可以将相关的存储过程,函数,变量,常量和游标等PL/SQL程序组合在一起,通过这种方式可以构供程序人员重用的代码库。另外,当首次调用程序包中的存储过程或函数等元素是,,Oracle会将整个程序包调入内存,在下次调用程序包中的元素时,Oracle就可以之际从内存中读取,从而提程序的运行效率。

程序包主要包括两个部分:包规范和包体。其中,

  • 包规范用于列出包中可用的存储过程、函数和游标等元素条目(不含这些元素的实际代码),这些条目属于公有项目,可以供所有的数据库用户访问。

  • 包体中则包含了元素的实际代码,同时,也可以在包体中创建规范中没有提到的项目,那么这些项目都属于私有项目,只能在包体中使用。

  • 创建包规范

    创建包规范需要使用CREATE PACKAGE 语句,其简要语法如下

    package_name; - package_name 创建的包名 - package_specification 用于列出用户可以使用的公共存储过程、函数、类型和对象 创建包体

    创建包体需要使用CREATE PACKAGE BODY语句,并且在创建时需要指定已创建的包,其简要语法如下:

    CREATE [OR REPLACE] PACKAGE BODY package_name {IS|AS} package_body END package_name; 实例

    具体实例如下:
    1.创建包规范

    PACKAGE common_pkg ) RETURN NUMBER; END common_pkg;

    2.创建包体

    PACKAGE BODY common_pkg ) RETURN RETURN (common_pkg;

    调用包中的函数,

    SELECT common_pkg.tax(sal) FROM emp;

    本文永久更新链接地址:

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn