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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM