DBMS_OUTPUT包学习

DBMS_OUTPUT包中的其他方法和函数的用法,所以这次特地来研究一下。 先简单的讲解一下这个包的所有procedure的含义及作用: 
 
----------------------- 
    1、enable:在serveroutput on的情况下,用来使dbms_output生效(默认即打开) 
    2、disable:在serveroutput on的情况下,用来使dbms_output失效 
    3、put:将内容写到内存,等到put_line时一起输出 
    4、put_line:不用多说了,输出字符 
    5、new_line:作为一行的结束,可以理解为写入buffer时的换行符 
    6、get_line:获取没有输出的buffer中的信息 
    7、get_lines:以数组形式来获取所有buffer中的信息 

 

需要注意以下几点: 
----------------------- 
    1、set serveroutput on:如果要在sqlplus中看到dbms_output的输出,则必须设置该参数值为on 
    2、每行能容纳的最大值是32767bytes 
    3、buffer的默认值是20000bytes,可设置的最小值为2000bytes,最大值为1000000bytes 

 

 

    下面举几个例子来说明一些不常用的方法的使用: 
 
    例子1:(put和new_line) 
----------------------- 
SQL> set serveroutput on
SQL> begin
  2    dbms_output.put_line('three names will be written.');
  3    dbms_output.put('j'); --增加至buffer
  4    dbms_output.new_line; --回车
  5    dbms_output.put('s'); --增加至buffer
  6    dbms_output.new_line; --回车
  7    dbms_output.put('t'); --增加至buffer
  8    dbms_output.new_line; --回车
  9    dbms_output.put_line('over.'); --与之前所有一起输出
10  end;
11  /
three names will be written.
j
s
t
over.
 
PL/SQL procedure successfully completed 


以下附上本人一小练习,pl/sql输出左直角三角形

set serveroutput on
declare

 begin
   for i in 1 .. 5
   loop
        for j in 1 .. i
        loop
           dbms_output.put('*');
        end loop;

dbms_output.new_line();
end loop; end; /

结果:

*
**
***
****
*****

PL/SQL 过程已成功完成。

 

 

 

 

posted @ 2014-01-03 16:58  君子笑而不语  阅读(328)  评论(0编辑  收藏  举报