Oracle 原理: 初步认识程序包
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 原理: 初步认识程序包相关推荐
- [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)...
[强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天才在于积累!) --通过知识共享树立个人品牌. 继上七篇: [推荐]ORACLE P ...
- Oracle编程入门经典 第11章 过程、函数和程序包
目录 11.1 优势和利益... 1 11.2 过程... 1 11.2.1 语法... 2 11.2.2 建立或者替换... 2 11.2 ...
- javascript原理_JavaScript程序包管理器工作原理简介
javascript原理 by Shubheksha 通过Shubheksha JavaScript程序包管理器工作原理简介 (An introduction to how JavaScript pa ...
- oracle 触发器 和 常用内置程序包
--触发器和常用内置程序包 --author:shine --一.触发器: --1.触发器组成:由触发器语句,触发器限制,触发器操作三部分组成. --exp:1.1.1 create or repla ...
- oracle强大的包,ORACLE 程序包
程序包由PL/SQL程序元素(变量,类型)和匿名PL/SQL(游标),命名PL/SQL 块(存储过程和函数)组成. 程序包可以被整体加载到内存中,这样可以大大加快程序包中任何一个组成部分的访问速度. ...
- oracle v sql不存在,程序包oracle.sql不存在
今天项目在maven install 的时候报"程序包oracle.sql不存在,类TIMESTAMP找不到"的问题: plugins:maven-compiler-plugin: ...
- oracle 内置程序包,建立程序包的方法,程序包中使用游标,常用程序包
文章目录 1. 程序包 1.1 程序包定义 1.2 程序包创建 1.3 程序包中的游标 1.4 有关程序包的信息 2. 内置程序包 3. DBMS_JOB包 4. UTL_FILE包 1. 程序包 1 ...
- oracle创建简单包,Oracle创建程序包是什么?
一.程序包的相关知识 1.定义与说明 a. 相关对象的封装 b. 程序包的各部分 - 程序包规格说明 声明子程序 - 程序包主体 定义子程序 2.使用程序包的优点 - 模块化 - 更轻松的应用程序设计 ...
- Oracle 11g 学习笔记-6(触发器、函数、存储过程、程序包)
程序包 1-pack_body_emp .exec_package SQL> CREATE OR REPLACE PACKAGE pack_emp IS2 FUNCTION fun_avg_sa ...
最新文章
- 如何轻松应对DNS劫持
- 给电脑换源 npm 国内镜像 cnpm
- Angular 根据指定条件动态决定是否显示自定义的popup hover Component
- #3456. 城市规划(生成函数,多项式求逆)
- jzoj4669-[NOIP2016提高A组模拟7.19]弄提纲【LCA,KMP,字符串】
- 用金万维怎么设置路由器_家用路由器怎么设置 家庭路由器设置方法【图文】...
- linux上怎么解压zip文件和tar.gz文件
- 拓端tecdat|R语言中GLM(广义线性模型),非线性和异方差可视化分析
- linux表白程序源码,程序员表白程序,开放源码在此!
- 微型计算机噪声要求国标,中国噪声标准(GB noise standards)
- balanced-match 源码解析
- 项目管理有妙招,看懂你的项目健康状态和完整度
- 页面文件太小,无法解决/BrokenPipeError: [Errno 32] Broken pipe问题解决
- Windows 免费 HEVC 解码器 下载
- 风控人都在夸交通出行数据好用,那就来看看如何挖掘与应用此类数据
- 求教硬盘显示属性0字节
- Python - 获取当前目录/上级目录/上上级目录
- jquery按钮置灰_点击提交按钮后按钮变灰色不可用状态的三种方法
- linux 下 任务管理器,Linux/Unix下的任务管理器-top命令
- “车联网”最强科普!据说它是未来五年5G兴衰的晴雨表?