dbms_output.put_line的用法(Oracle)

本文详细介绍了Oracle数据库中DBMS_OUTPUT包的使用,包括enable/disable、put/put_line、new_line以及get_line/get_lines等函数的用法,阐述了如何在PL/SQL中进行输出调试和信息显示。同时,解释了在Oracle中执行PL/SQL过程时斜杠(/)的作用,并讨论了在使用get_line和get_lines时需要注意的事项。
摘要由CSDN通过智能技术生成

dbms_output.put_line的用法

涉及到的知识点如下:

1、enable:

在serveroutput on的情况下,用来使dbms_output生效(默认即打开)

set serveroutput on --将output 服务打开

2、disable:

在serveroutput on的情况下,用来使dbms_output失效

set serveroutput off --将output 服务关闭

 

3、put:

将内容写到内存,等到put_line时一起输出,new_line的时候也可以输出。

begin
  dbms_output.put_line('hello world1111111');
  dbms_output.new_line();
  dbms_output.put('Hello, Lao An ');
  dbms_output.put('Hello, Lao An ');
  dbms_output.new_line();
  dbms_output.put_line('Hello, Lao An ');
end;
/

输出:

4、put_line:

不用多说了,输出字符,并刷新buffer,前提是set severoutput on;

exec dbms_output.put_line('hello world1111111');

5、new_line:

作为一行的结束,可以理解为写入buffer时的换行符

set serveroutput on
begin
  dbms_output.put_line('hello world1111111');
  dbms_output.put('Hello, Lao An');
  dbms_output.new_line();
  dbms_output.put_line('Hello, Lao An');
end;
/

这里运用了begin+/来执行PL/SQL过程,我解释一下oracle中斜杠(/)的含义
斜杠就是让服务器执行前面所写的sql脚本。如果是普通的select语句,一个分号,就可以执行了。但是如果是存储过程,那么遇到分号,就不能马上执行了。这个时候,就需要通过斜杠(/)来执行。

 

6、get_line(value, index):

获取缓冲区的单行信息。

注:使用get_line时不能用put_line输出,因为put_line之后会将buffer清空。(当然在serveroutput off的情况下put_line是不影响buffer的)。

7、get_lines(array, index):

以数组形式来获取缓冲区的多行信息

declare
   v_data dbms_output.chararr;   --先声明局部变量                       
   v_numlines number;                                   
begin                                               
   --enable the buffer first.                          
   dbms_output.enable(1000000);   --设置缓冲区的大小                      
                                                      
   dbms_output.put_line('line one');                    
   dbms_output.put_line('line two');                    
   dbms_output.put_line('line three');                 
                                                      
   v_numlines := 3;                                    
   dbms_output.get_lines(v_data, v_numlines);  --array, index        
   for v_counter in 1..v_numlines loop                 
       dbms_output.put_line(v_data(v_counter));            
   end loop;                                           
end;                                                
/

 输出:

  • 16
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜猫程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值