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;
/
输出: