PL/SQL程序包

oracle学习笔记

目录

1.什么是程序包

2.创建包规范语言

程序包规范

程序包主体

创建程序包

创建包主体

调用程序包

3.系统内置程序包

常用内置程序包

随机字符

随机五位数

4.程序包的优点


1.什么是程序包

程序包是对相关过程、函数、变量、游标和异常等对象的封装

程序包由规范和主体两部分组成

2.创建包规范语言

程序包规范

create[or replace] package package_name

is|as

[Public item declarations]

[Subprogram specification]

end [package_name];

程序包主体

create [or replace] package body package_name 

is|as

[Private item declarations]

[Subprogram bodies]

[begin Initialization]

end [package_name];

创建程序包

  create or replace package pack_1
  is 
     -- 声明过程
     procedure proc_hello(name varchar2);
     
     -- 声明函数
     function fun_hello(name varchar2) return varchar2;
  end;

创建包主体

create or replace package body pack_1
  is 
     -- 过程实现
     procedure proc_hello(name varchar2) is
     begin
         dbms_output.put_line('hello '||name);
     end;
     
     -- 函数实现
     function fun_hello(name varchar2) return varchar2 is
     begin
       return 'hi '||name;
     end;
end;

调用程序包

begin
   pack_1.proc_hello('jack');
 end;

3.系统内置程序包

程序包名称

说明

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_OUTPUT 包输出 PL/SQL 程序的调试信息

DBMS_LOB 包提供操作 LOB 数据的子程序

DBMS_XMLQUERY 将查询结果转换为 XML 格式

DBMS_RANDOM 提供随机数生成器

随机字符

select dbms_random.string('P',8 ) from dual ;
select dbms_random.string('X',8 ) from dual ; -- 大写字母随机数

随机五位数

select round(dbms_random.value()*100000) from dual;

4.程序包的优点

模块化

更轻松的应用程序设计

信息隐藏

新增功能(过程可以重载,可以定义公用变量或游标)

性能更佳

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值