美文网首页
【工作笔记】Oracle 中的包和包体

【工作笔记】Oracle 中的包和包体

作者: 高桥my | 来源:发表于2020-03-02 21:59 被阅读0次

本文摘自网络,主要分为三大部分,以了解为目的让大家对包有一个大体的认识:一、包的概念和组成;二、包的优点;三、包和包体的创建。

一、包的概念和组成

包是用来存储相关程序结构的对象,它存储于数据字典中。包由两个分离的部分组成:包头(PACKAGE)和包体(PACKAGE BODY)。包头是包的说明部分,是对外的操作接口,对应用是可见的;包体是包的代码和实现部分,对应用来说是不可见的黑盒。

包中可以包含的程序结构如下所示:

包可以包含的程序结构 相关程序结构的解析

说明部分可以出现在包的三个不同的部分:出现在包头中的称为公有元素,出现在包体中的称为私有元素,出现在包体的过程(或函数)中的称为局部变量。它们的性质有所不同,如下所示。

说明部分(不止包头)

在包体中出现的过程或函数,如果需要对外公用,就必须在包头中说明,包头中的说明应该和包体中的说明一致。

二、包的优点

包可以方便地将存储过程和函数组织到一起,每个包又是相互独立的。在不同的包中,过程、函数都可以重名,这解决了在同一个用户环境中命名的冲突问题。

包增强了对存储过程和函数的安全管理,对整个包的访问权只需一次授予。

在同一个会话中,公用变量的值将被保留,直到会话结束。

区分了公有过程和私有过程,包体的私有过程增加了过程和函数的保密性。

包在被首次调用时,就作为一个整体被全部调入内存,减少了多次访问过程或函数的I/O次数。(为了了解这个含义,我特地探讨了一下。这是当程序首次调用包内函数或过程时,ORACLE 将整个包调入内存,当再次访问包内元素时,ORACLE直接从内存中读取,而不需要进行磁盘 I/O 操作,从而使程序执 行效率得到提高。简而言之就是一次载入,多次使用。)

三、包和包体的创建

关于包和包体的创建,我暂时不是很理解,所以目前先把一些简要语句摘取如下,供日后使用时增进了解再来改善。

创建包头的简要语句如下:

包头语句

创建包体的简要语法如下:

包体语句

在SQL*Plus环境下,包和包体可以分别编译,也可以一起编译。如果分别编译,则要先编译包头,后编译包体。如果在一起编译,则包头写在前,包体在后,中间用“/”分隔。

可以将已经存在的存储过程或函数添加到包中,方法是去掉过程或函数创建语句的CREATE OR REPLACE部分,将存储过程或函数复制到包体中 ,然后重新编译即可。

如果需要将私有过程或函数变成共有过程或函数的话,将过程或函数说明部分复制到包头说明部分,然后重新编译就可以了。

资料来源:https://blog.csdn.net/u013249984/article/details/77651549?utm_source=app

相关文章

  • 【工作笔记】Oracle 中的包和包体

    本文摘自网络,主要分为三大部分,以了解为目的让大家对包有一个大体的认识:一、包的概念和组成;二、包的优点;三、包和...

  • maven之使用Maven管理Oracle驱动包

    参考链接 使用Maven管理Oracle驱动包 使用Maven管理Oracle驱动包 概述 由于oracle驱动包...

  • 程序包

    程序包 组成 语法 示例: 以下内容为转载:参考链接:Oracle中包(PACKAGE)的使用方法 创建包示例:包...

  • maven下载Oracle的jar包依赖

    maven下载Oracle的驱动jar包:由于Oracle商业版权问题,maven仓库中没有Oracle 11.2...

  • Oracle-12c安装步骤

    1、登录主机 2、检查oracle安装依赖是否安装 3、安装系统中没有的依赖包 4、将oracle安装包同步到服务...

  • maven 项目导入oracle包报错

    因为oracle版权的原因,maven仓库中没有oracle的驱动包,需要自己手动下载 1、oracle官方驱动 ...

  • Swift学习笔记(1)

    SWift学习笔记 闭包 闭包表达式 闭包是自包含的函数代码块,可以在代码中被传递和使用。Swift 中的闭包与 ...

  • JUC SynchronousQueue

    介绍 Java 6的并发编程包中的SynchronousQueue[http://docs.oracle.com/...

  • Linux下配置Pro*C/C++开发环境

    1、下载 Linux 下的 Oracle Instant Client 有rpm包和zip包两种,下载任意一种即可...

  • linux下安装Oracle

    1.要有安装包.下面的链接是oracle 11g,oracle 10的安装包链接 链接: https://pan....

网友评论

      本文标题:【工作笔记】Oracle 中的包和包体

      本文链接:https://www.haomeiwen.com/subject/yqgikhtx.html