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 日志:

 

转载于:https://www.cnblogs.com/BlueStarWei/p/9308683.html

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值