17. PL/SQL DBMS輸出

DBMS_OUTPUT是一個內建的Package,能夠顯示輸出所需的信息,並從PL/ SQL區塊,子程序,Package和Trigger發送訊息。

BEGIN
  dbms_output.put_line  (user || ' Tables in the database:');
  FOR t IN (SELECT table_name FROM user_tables)
  LOOP
     dbms_output.put_line(t.table_name);
  END LOOP;
END;
/

DBMS_OUTPUT子程序

DBMS_OUTPUT包含有以下子程序:

S.N

子程序及用途

1

DBMS_OUTPUT.DISABLE;

禁止信息輸出

2

DBMS_OUTPUT.ENABLE(buffer_size IN INTEGER DEFAULT 20000);

啟用消息輸出。 BUFFER_SIZE=null表示無限的緩衝區大小

3

DBMS_OUTPUT.GET_LINE (line OUT VARCHAR2, status OUT INTEGER);

檢索Buffer信息的資料類型

4

DBMS_OUTPUT.GET_LINES (lines OUT CHARARR, numlines IN OUT INTEGER);

檢索來自Buffer的資料行數

5

DBMS_OUTPUT.NEW_LINE;

每筆資料結束的標誌

6

DBMS_OUTPUT.PUT(item IN VARCHAR2);

放置在所述Buffer中的部分資料

7

DBMS_OUTPUT.PUT_LINE(item IN VARCHAR2);

放置在所述Buffer中的資料


範例:

DECLARE
  lines dbms_output.chararr;
  num_lines number;
BEGIN
  -- enable the buffer with default size 20000
  dbms_output.enable;
 
  dbms_output.put_line('Hello Reader!');
  dbms_output.put_line('Hope you have enjoyed the tutorials!');
  dbms_output.put_line('Have a great time exploring pl/sql!');

  num_lines := 3;

  dbms_output.get_lines(lines, num_lines);

  FOR i IN 1..num_lines LOOP
     dbms_output.put_line(lines(i));
  END LOOP;
END;
/
結果如下:
Hello Reader!
Hope you have enjoyed the tutorials!
Have a great time exploring pl/sql!

PL/SQL procedure successfully completed.

沒有留言:

張貼留言