Oracle内置存储过程之DBMS_OUTPUT

1.DBMS_OUTPUT

1.1 作用: 调试PL/SQL程序

1.2 相关函数:

命令 作用 备注
enable 在serveroutput on的情况下,用来使dbms_output生效(默认即打开)

启用serveroutput :  set serveroutput on

关闭serveroutput :  set serveroutput off

disable 在serveroutput on的情况下,用来使dbms_output失效
put 将内容写到内存,等到put_line/new_line时一起输出  
put_line(value) 输出字符(如果缓存中有内容,同时输出)  
new_line 换行(如果缓存中有内容,同时输出)  
get_line(value, status) 获取缓冲区的单行信息(返回的内容被存在value中,返回的状态会被存在status)

status=0 : 返回成功;

status=1 : 返回空(没有更多行)

get_lines(array, status) 以数组形式来获取缓冲区的多行信息

1.3 示例:

1.3.1.1 put、new_line

begin
dbms_output.put('a'); -- write in cache
dbms_output.put('b'); -- write in cache
dbms_output.new_line(); -- read out cache
dbms_output.put('c'); -- write in cache
end;

1.3.1.2 日志:(可在pl/sql的output窗口查看输出)

Oracle内置存储过程之DBMS_OUTPUT

1.3.2.1 put_line

begin
dbms_output.put_line('Hello!Oracle'); -- read out charactor
dbms_output.put('This '); -- write in cache
dbms_output.put('is '); -- write in cache
dbms_output.put_line('new line.'); -- read out charactor with cache
end;

1.3.2.2 日志

Oracle内置存储过程之DBMS_OUTPUT

1.3.3.1 get_line

--create table
create table t(a number(1), b varchar2(10)); --insert data
declare
v_value varchar2(10);
v_status number(1);
v_count number(1) := 0;
begin
dbms_output.put_line('a');
dbms_output.put_line('b');
while v_count <= 2 loop
dbms_output.get_line(v_value,v_status);
insert into t values(v_status,v_value);
v_count := v_count + 1;
end loop;
end; --select data
SELECT * FROM t;

1.3.3.2 日志:

Oracle内置存储过程之DBMS_OUTPUT

Oracle内置存储过程之DBMS_OUTPUT

上一篇:NodeJs使用asyncAwait两法


下一篇:cdoj 1489 老司机采花