dbms_output.enable()有什么用

来源:互联网 发布:数据相关性分析方法 编辑:程序博客网 时间:2024/04/29 22:39
最新在一个存储过程中看到
beign
   DBMS_OUTPUT.enable(800000);
   ...
   还是第一次遇到,那么dbms_output.enable()有什么用呢?
   设置   dbms_output   输出的缓冲。  
   不设置如果输出超过2000字节就不可以用了……  


另外,oracle 中 set serveroutput on 是什么意思???
即打开oracle自带的输出方法dbms_output。在执行set serveroutput on以后,使用dbms_output方法可以输出信息,
例如:dbms_output.put_line('This is');

---------------------from百度知道
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);
0 0