九、系统包一览
Oracle和各种Oracle工具都提供了系统包来帮助我们建立基于PL/SQL的应用程序。例如,Oracle提供了许多工具包,下面介绍一下其中比较典型的包。
1、关于DBMS_ALERT包
DBMS_ALERT能让数据库触发器在特定的数据库值发生变化时向应用程序发送报警。报警是基于事务的并且是异步的(也就是它们的操作与定时机制无关)。例如,当新的股票和债券上市时公司就可以通过这个包更新来他的投资总额。
2、关于DBMS_OUTPUT包
包DBMS_OUTPUT能让我们显示来自PL/SQL块和子程序中的输出内容,这样就会很容易地进行测试和调试。过程put_line能把信息输出到SGA的一个缓存中。我们可以通过调用过程get_line或在SQL*Plus中设置SERVEROUTPUT
ON就能显示这些信息。假设我们创建了下面的存储过程:
CREATE
PROCEDURE
calc_payroll(payroll OUT
NUMBER
) AS
CURSOR
c1 IS
SELECT
sal, comm
FROM
emp; BEGIN
payroll := 0;
FOR
c1rec IN
c1 LOOP
c1rec.comm := NVL(c1rec.comm, 0);
payroll := payroll + c1rec.sal + c1rec.comm;
END
LOOP
;
/* Display debug info. */
DBMS_OUTPUT.put_line('Value of payroll: '
|| TO_CHAR(payroll)); END
;
|
使用下面的命令时,SQL*Plus就能显示出payroll的值:
SQL
> SET
SERVEROUTPUT ON
SQL
> VARIABLE num NUMBER
SQL
> CALL calc_payroll(:num);
Value of payroll: 31225
|
3、关于DBMS_PIPE包
包DBMS_PIPE允许不同的会话通过命名管道来进行通信(管道就是一块内存区域,进程使用这个区域把消息传递给另外一个进程)。我们可以使用过
程pack_message和send_message把消息封装到一个管道,然后把消息发送到同一个实例中的另一个会话中。
管道的另一个终端,我们可以使用过程recieve_message和unpack_message来接受并打开要读取的消息。命名管道在很多地方都很有用。例如,我们可以用C语言编写一个收集信息的程序,然后把信息通过管道传递给存储过程。
4、关于UTL_FILE包
包UTL_FILE能让我们的PL/SQL程序读写操作系统(OS)文本文件。它提供了标准的OS流文件I/O,包括open、put、get和close操作。
当我们想要读写文件的时候,我们可以调用函数fopen,它能返回一个在后续过程调用中使用到的文件句柄。例如,过程put_line能往打开的文件中写入文本字符串,并在后边添加一个换行符,过程get_line能从打开的文件读取一行内容到放到一个输出缓存中。
5、关于UTL_HTTP包
包UTL_HTTP可以让我们PL/SQL程序使用超文本传输协议(HTTP)进行通信。它可以从互联网接收数据或调用Oracle
Web服务器的cartridge。这个包有两个入口点,每一个都接受一个URL(统一资源定位器)字符串,然后连接到一个指定的网站并返回所请求的数据,这些数据通常是超文本标记语言HTML格式。
十、包编写准则
在编写包时,尽量让它们保持通用性,这样就能在以后的程序中多次使用。避免编写那些与Oracle已经提供的特性相同的包。
包说明反映了我们的应用程序设计。所以,一定在包体之前定义它们。只有那些对包用户必须可见的内容才可以放在说明部分。这样,其他的开发人员就不会滥用包中的内容了。
为了减少因代码改变而引起的重编译,尽量不要在包说明部分放置过多的内容。对包体内容的改变不需要编译其他独立的过程,但是,如果包说明发生改变,Oracle就得重新编译每一个引用到那个包的存储子程序了。
分享到:
相关推荐
《PL/SQL用户指南与参考》是一份详细阐述Oracle数据库中的PL/SQL编程语言的中文文档,它对应的是英文版的《PL/SQL User's Guide and Reference Release 2 (9.2)》。PL/SQL是Oracle数据库系统的核心组件之一,用于...
### PL/SQL Developer 11用户指南 #### 一、简介 **PL/SQL Developer** 是一款专为 Oracle 数据库开发人员设计的强大工具,旨在帮助他们高效地编写、调试及优化 PL/SQL 代码。本指南将详细介绍 **PL/SQL Developer ...
### PL/SQL Developer 7 中文用户指南 #### 一、引言 PL/SQL Developer 是一款专为 Oracle 数据库设计的强大开发工具,它能够帮助开发者高效地编写、调试及优化 PL/SQL 代码。本指南旨在为使用 PL/SQL Developer 7 ...
### PL/SQL Developer 6.0 用户指南知识点详解 #### 一、介绍 **PL/SQL Developer** 是一款专门用于开发、调试和管理 Oracle 数据库中的 PL/SQL 对象的强大工具。版本 6.0 作为早期的一个版本,虽然可能在某些方面...
《Oracle SQL*Plus 用户指南与参考》是一本详细介绍如何使用SQL*Plus的权威性文档,它涵盖了SQL*Plus的基础操作到高级应用,是数据库管理员、开发人员和SQL查询人员的重要参考资料。SQL*Plus是Oracle数据库系统提供...
《PL/SQL 用户指南与参考》是一本关于 Oracle 数据库的 PL/SQL 批处理语言的权威书籍,它由 Oracle Corporation 出版,并针对 Oracle 9.2 版本进行了详细的讲解。本书不仅适合初学者了解 PL/SQL 的基础知识,也非常...
### PL/SQL Developer 13 用户指南概览与核心知识点 #### 一、引言 PL/SQL Developer 是一款专为 Oracle 数据库开发人员设计的强大工具。它提供了一个集成环境,方便用户编写、调试和优化 PL/SQL 代码。本指南主要...
在SQL*Plus Quick Reference Release 9.2中,这是一份针对Oracle 9.2版本的快速参考指南,主要涵盖了iSQL*Plus和SQL*Plus的按钮、图标以及命令语法。该文档旨在提供一个快速查阅的工具,对于每个命令的详细信息,...
### PL/SQL Developer 7.0 用户指南知识点详解 #### 一、介绍 **PL/SQL Developer** 是一款专门用于开发、调试以及管理 Oracle 数据库中的 PL/SQL 对象的强大工具。版本 7.0 作为该系列的一个重要版本,为用户提供...
本指南将为初学者提供一个全面的入门路径,帮助理解Oracle8i和9i版本中的PL/SQL概念与应用。 首先,让我们了解Oracle8i。Oracle8i是Oracle数据库的一个主要版本,发布于1998年,引入了许多创新特性,如对象关系...
### PL/SQL Developer 7.0 用户指南关键知识点解析 #### 一、介绍 **PL/SQL Developer** 是一款专为 Oracle 数据库设计的强大集成开发环境(IDE),它旨在简化和提升 PL/SQL 应用程序的开发效率。版本 7.0 作为该...
PUSQL基础 3.1 PL/SQL块简介 3.1.1 PL/SQL块结构 3.1.2 PL/SQL块分类 3.2 定义并使用变量 3.2.1 标量变量 3.2.2 复合变量 3.2.3 参照变量 3.2.4 LOB变量 3.2.5 非PL...
### PL/SQL Developer 7 用户详细指南 #### 一、介绍 **PL/SQL Developer** 是一款专为 Oracle 数据库设计的集成开发环境(IDE),主要用于开发存储过程、触发器等存储程序单元。该工具提供了丰富的特性来提高开发...
总之,《Oracle Spatial 9.2 用户指南》是一份全面的参考资料,涵盖了从基础概念到高级应用的全方位教程,对于需要管理和利用空间数据的开发人员和数据库管理员来说,是不可或缺的工具。通过深入学习和实践,用户...
### PL/SQL Developer 9.0 用户指南知识点详解 #### 一、介绍 **PL/SQL Developer** 是一款专门用于开发、调试、管理和优化 Oracle 数据库应用程序的强大工具。该版本为 **9.0**,发布于 **2011年4月**。此文档...