DBMS_OUTPUT程式包是我们在Oracle开发过程中常用的一个包体,使用该包我们可以从存储过程、包或触发器传送信息(messages)。
基本介绍
- 中文名:dbms_output
- DISABLE :禁用讯息输出
- ENABLE :启用讯息输出
- GET_LINE :从buffer中获取单行信息
定义
DBMS_OUTPUT程式包是我们在Oracle开发过程中常用的一个包体,使用该包我们可以从存储过程、包或触发器传送信息(messages)。
简介
Oracle推荐在debug PL/SQL程式时使用该程式包,不推荐使用该包来做报表输出或其他格式化输出之用。
概述
DBMS_OUTPUT包主要用于调试PL/SQL程式,或者在SQL*PLUS命令中显示信息(displaying message)和报表,譬如我们可以写一个简单的匿名PL/SQL程式块,而该块出于某种目的使用DBMS_OUTPUT包来显示一些信息。
在该DBMS_OUTPUT包中存在2个存储过程,它们是PUT_LINE和PUT过程,使用这2个Procedure可以做到将信息存放到PL/SQL的Buffer中,以便其他的触发器、存储过程、程式包来读取。在独立的PL/SQL程式或匿名块中,我们还可以使用GET_LINES和GET这2个存储过程来将存放在PL/SQL Buffer中的信息输出(display)到萤幕。
DBMS_OUTPUT包子程式摘要
DISABLE存储过程 | 禁用讯息输出 |
ENABLE 存储过程 | 启用讯息输出 |
GET_LINE 存储过程 | 从buffer中获取单行信息 |
GET_LINES 存储过程 | 从buffer中获取信息数组 |
NEW_LINE 存储过程 | 终结有PUT过程所创建的一行 |
PUT 存储过程 | 将一行信息放到buffer中 |
PUT_LINE 存储过程 | 将部分行信息放到buffer中 |
注意目前PUT过程已废弃,因为遗留问题将被保留,但不在推荐使用。
DISABLE存储过程
该存储过程用以禁用对PUT, PUT_LINE, NEW_LINE, GET_LINE, and GET_LINES过程的调用,并会清理buffer中任何残存信息。
与之相反的是ENABLE存储过程,若在SQL*PLUS中使用SERVEROUTPUT选项则不需要调用该存储过程。
语法
DBMS_OUTPUT.DISABLE;
编译器指示
pragma restrict_references(disable,WNDS,RNDS);
ENABLE存储过程
该存储过程用以启用对PUT, PUT_LINE, NEW_LINE, GET_LINE, and GET_LINES存储过程的调用。
语法
DBMS_OUTPUT.ENABLE (
buffer_size IN INTEGER DEFAULT 20000);
编译指示
pragma restrict_references(enable,WNDS,RNDS);