Oracle dbms_output.put_line用法

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Oracle dbms_output.put_line用法

夜猫程序猿   2022-06-28 我要评论

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;                                                
/

 输出:

总结

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们