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窗口查看输出)
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 日志
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 日志: