oracle 中的程序包和C中的类库,JAVA中的package包类似。是过程、函数、变量、游标、异常的集合。程序包由规范和主体两部分组成。规范主要用于声明。声明公有对象(类型、常量、变量、异常、游标规范、子程序规范)类似于C语言中的hpp和public。主体主要用于声明程序包私有对象实现规范中的子程序和游标,类似于C语言中的cpp和private。

在PL/SQL Developer  的菜单栏中点VIEW的Object Browser,选中Package ,新建new。

--------程序包规范----------
create or replace package pckname is-- Author  : HU-- Created : 2020/7/8 23:07:05-- Purpose : asd-- Public type declarationstype <TypeName> is <Datatype>;-- Public constant declarations<ConstantName> constant <Datatype> := <Value>;-- Public variable declarations<VariableName> <Datatype>;-- Public function and procedure declarationsfunction <FunctionName>(<Parameter> <Datatype>) return <Datatype>;end pckname;

程序包主体

create or replace package body packname is-- Private type declarationstype <TypeName> is <Datatype>;-- Private constant declarations<ConstantName> constant <Datatype> := <Value>;-- Private variable declarations<VariableName> <Datatype>;-- Function and procedure implementationsfunction <FunctionName>(<Parameter> <Datatype>) return <Datatype> is<LocalVariable> <Datatype>;begin<Statement>;return(<Result>);end;begin-- Initialization<Statement>;
end packname;

----调用程序包中的函数和变量

packagename.objectname。你会发现在规范中声明过的对象可以访问得到,而在主体中声明的对象是访问不到的。

另外在包头(规范)中的游标声明要用return 语句

cursor curname  return <DataType>

在包体中

cursor curname  return <DataType> is  <statement>   .

select *from USER_OBJECTS   --可查看子程序和程序包的信息

select *from USER_SOURCE   --可查看子程序和程序代码

常用的程序包

程序包名称

说明

STANDARD和DBMS_STANDARD

定义和扩展PL/SQL语言环境

DBMS_LOB

提供对 LOB数据类型进行操作的功能

DBMS_OUTPUT

处理PL/SQL块和子程序输出调试信息

DBMS_RANDOM

提供随机数生成器

DBMS_SQL

允许用户使用动态 SQL

DBMS_XMLDOM

用DOM模型读写XML类型的数据

DBMS_XMLPARSER

XML解析,处理XML文档内容和结构

DBMS_XMLQUERY

提供将数据转换为 XML 类型的功能

DBMS_XSLPROCESSOR

提供XSLT功能,转换XML文档

UTL_FILE

用 PL/SQL 程序来读写操作系统文本文件

DBMS_Alert 不用轮询就允许应用命名并发出警告条件信号的过程与函数 
DBMS_DDL 允许获取PL/SQL程序内部一定数量的DDL语句的过程 
DBMS_Describe 为存储过程与函数描述API的过程 
DBMS_Job 管理BLOBs、CLOBs、NCLOBs与BFILEs的过程与函数 
DBMS_Output 允许PL/SQL程序生成终端输出的过程与函数 
DBMS_Pipe 允许数据库会话使用管道通信(通信频道)的过程与函数 
DBMS_SQL 在PL/SQL程序内部执行动态SQL的过程与函数 
DBMS_Utility DBMS_Utility 

更多的包请查询: select * from dba_objects where OBJECT_TYPE ='PACKAGE'

对应的使用方法和说明:  光标对准按F1查看帮助文档,没有帮助文档的按F1后点击download下载。下载完后在对应目录解压后点build

或者可以直接下载 :

https://download.csdn.net/download/superSmart_Dong/12603260

Oracle 原理: 初步认识程序包相关推荐

  1. [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)...

    [强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天才在于积累!) --通过知识共享树立个人品牌.   继上七篇:            [推荐]ORACLE P ...

  2. Oracle编程入门经典 第11章 过程、函数和程序包

    目录 11.1          优势和利益... 1 11.2          过程... 1 11.2.1       语法... 2 11.2.2       建立或者替换... 2 11.2 ...

  3. javascript原理_JavaScript程序包管理器工作原理简介

    javascript原理 by Shubheksha 通过Shubheksha JavaScript程序包管理器工作原理简介 (An introduction to how JavaScript pa ...

  4. oracle 触发器 和 常用内置程序包

    --触发器和常用内置程序包 --author:shine --一.触发器: --1.触发器组成:由触发器语句,触发器限制,触发器操作三部分组成. --exp:1.1.1 create or repla ...

  5. oracle强大的包,ORACLE 程序包

    程序包由PL/SQL程序元素(变量,类型)和匿名PL/SQL(游标),命名PL/SQL 块(存储过程和函数)组成. 程序包可以被整体加载到内存中,这样可以大大加快程序包中任何一个组成部分的访问速度. ...

  6. oracle v sql不存在,程序包oracle.sql不存在

    今天项目在maven install 的时候报"程序包oracle.sql不存在,类TIMESTAMP找不到"的问题: plugins:maven-compiler-plugin: ...

  7. oracle 内置程序包,建立程序包的方法,程序包中使用游标,常用程序包

    文章目录 1. 程序包 1.1 程序包定义 1.2 程序包创建 1.3 程序包中的游标 1.4 有关程序包的信息 2. 内置程序包 3. DBMS_JOB包 4. UTL_FILE包 1. 程序包 1 ...

  8. oracle创建简单包,Oracle创建程序包是什么?

    一.程序包的相关知识 1.定义与说明 a. 相关对象的封装 b. 程序包的各部分 - 程序包规格说明 声明子程序 - 程序包主体 定义子程序 2.使用程序包的优点 - 模块化 - 更轻松的应用程序设计 ...

  9. Oracle 11g 学习笔记-6(触发器、函数、存储过程、程序包)

    程序包 1-pack_body_emp .exec_package SQL> CREATE OR REPLACE PACKAGE pack_emp IS2 FUNCTION fun_avg_sa ...

最新文章

  1. 如何轻松应对DNS劫持
  2. 给电脑换源 npm 国内镜像 cnpm
  3. Angular 根据指定条件动态决定是否显示自定义的popup hover Component
  4. #3456. 城市规划(生成函数,多项式求逆)
  5. jzoj4669-[NOIP2016提高A组模拟7.19]弄提纲【LCA,KMP,字符串】
  6. 用金万维怎么设置路由器_家用路由器怎么设置 家庭路由器设置方法【图文】...
  7. linux上怎么解压zip文件和tar.gz文件
  8. 拓端tecdat|R语言中GLM(广义线性模型),非线性和异方差可视化分析
  9. linux表白程序源码,程序员表白程序,开放源码在此!
  10. 微型计算机噪声要求国标,中国噪声标准(GB noise standards)
  11. balanced-match 源码解析
  12. 项目管理有妙招,看懂你的项目健康状态和完整度
  13. 页面文件太小,无法解决/BrokenPipeError: [Errno 32] Broken pipe问题解决
  14. Windows 免费 HEVC 解码器 下载
  15. 风控人都在夸交通出行数据好用,那就来看看如何挖掘与应用此类数据
  16. 求教硬盘显示属性0字节
  17. Python - 获取当前目录/上级目录/上上级目录
  18. jquery按钮置灰_点击提交按钮后按钮变灰色不可用状态的三种方法
  19. linux 下 任务管理器,Linux/Unix下的任务管理器-top命令
  20. “车联网”最强科普!据说它是未来五年5G兴衰的晴雨表?

热门文章

  1. GridView行号大集合
  2. 每天学点linux之-rmdir,cp,mv
  3. 《孵化皮克斯》读书第三天
  4. Linux中基于snmp协议的mrtg安装及使用
  5. Linux根文件系统的制作
  6. SELinux进阶篇 应用目标策略管理非限制进程和用户
  7. 【计网】计算机网络期末总复习-谢希仁(个人总结)理论概念
  8. Python virtualenv激活与退出虚拟环境
  9. Spark SQL入门示例
  10. linux 产生0~9内的随机数