Plsql-dbms-output
PL/SQL-DBMS出力
この章では、PL/SQLでのDBMS出力について説明します。 DBMS_OUTPUT は、出力、デバッグ情報の表示、およびPL/SQLブロック、サブプログラム、パッケージ、トリガーからのメッセージの送信を可能にする組み込みパッケージです。 このパッケージは、チュートリアル全体で既に使用しています。
データベース内のすべてのユーザーテーブルを表示する小さなコードスニペットを見てみましょう。 データベースで試して、すべてのテーブル名をリストダウンします-
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.No | Subprogram & Purpose |
---|---|
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); バッファリングされた情報の1行を取得します。 |
4 |
DBMS_OUTPUT.GET_LINES (lines OUT CHARARR, numlines IN OUT INTEGER); バッファーから行の配列を取得します。 |
5 |
DBMS_OUTPUT.NEW_LINE; 行末マーカーを配置します。 |
6 |
DBMS_OUTPUT.PUT(item IN VARCHAR2); バッファーに部分的な行を配置します。 |
7 |
DBMS_OUTPUT.PUT_LINE(item IN VARCHAR2); バッファーに行を配置します。 |
例
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;
/
上記のコードがSQLプロンプトで実行されると、次の結果が生成されます-
Hello Reader!
Hope you have enjoyed the tutorials!
Have a great time exploring pl/sql!
PL/SQL procedure successfully completed.