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窗口查看输出)
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 日志:
更多内容,请访问:http://www.cnblogs.com/BlueStarWei