一、目标
1、了解oracle11g的内置程序包
2、掌握建立oracle11g的程序包的方法
3、掌握在oracle11g的程序包中使用游标的方法
4、了解oracle11g中的常用的程序包的使用
二、程序包
1、程序包是对相关过程、函数、变量、游标和异常等对象的封装
2、程序包由规范和主体两部分组成
三、程序包的优点
1、模块化
2、更轻松的应用程序设计
3、信息隐藏
4、新增功能
5、性能更佳
四、程序包中的游标1
1、游标的定义分为游标规范和游标主体两部分
2、在包规范中声明游标规范时必须使用 RETURN 子句指定游标的返回类型
3、RETURN子句指定的数据类型可以是:
(1)用 %ROWTYPE 属性引用表定义的记录类型;
(2)程序员定义的记录类型,例如 TYPE EMPRECTYP IS RECORD(emp_id INTEGER,salary REAL)来定义的;
(3)不可以是number, varchar2, %TYPE等类型;
五、内置程序包1
程序包名称 说明 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_Job
六、DBMS_Job的用法
1、包含以下子过程:
Broken()过程
change()过程
Interval()过程
Isubmit()过程
Next_Date()过程
Remove()过程
Run()过程
Submit()过程
User_Export()过程
What()过程
2、子过程说明:
Broken()过程更新一个已提交的工作的状态,典型地是用来把一个已破工作标记为未破工作。这个过程有三个参数:job 、broken与next_date。
Change()过程用来改变指定工作的设置。这个过程有四个参数:job、what 、next_date与interval。
Interval()过程用来显式地设置重执行一个工作之间的时间间隔数。
ISubmit()过程用来用特定的工作号提交一个工作. Next_Date()过程用来显式地设定一个工作的执行时间。这个过程接收两个参数:job与next_date。
Remove()过程来删除一个已计划运行的工作。这个过程接收一个参数。
Run()过程用来立即执行一个指定的工作。这个过程只接收一个参数。
Submit()过程,工作被正常地计划好。
User_Export()过程返回一个命令,此命令用来安排一个存在的工作以便此工作能重新提交。
What()过程应许在工作执行时重新设置此正在运行的命令。
举例:
八、UTL_FILE的用法举例
九、DBMS_RANDOM的用法
1、产生一个9位的随机整数
SELECT DBMS_RANDOM.RANDOM FROM DUAL;
2、产生一个100以内的随机整数
SELECT ABS(MOD(DBMS_RANDOM.RANDOM,100)) FROM DUAL;
3、VALUE函数会返回一个大于等于0但是小于1的数,
SELECT DBMS_RANDOM.VALUE FROM DUAL;
4、对于指定范围内的整数,要加入参数low_value和high_value,并从结果中截取小数(最大值不能被作为可能的值)。所以对于0到99之间的小数,你要使用下面的代码 。
SELECT DBMS_RANDOM.VALUE(0, 100) FROM DUAL;
5、产生0到99之间的整数
SELECT TRUNC(DBMS_RANDOM.VALUE(0, 100)) FROM DUAL;
6、STRING函数生成随机文本字符串,可以指定字符串的类型和所希望的长度。
SELECT DBMS_RANDOM.STRING('A', 20) FROM DUAL;
文章评论