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 | サブプログラムと目的 | |
---|---|---|
1 | DBMS_OUTPUT.DISABLE; メッセージ出力を無効にします。 |
|
2 | DBMS_OUTPUT.ENABLE(buffer_size IN INTEGER DEFAULT 20000); メッセージ出力を有効にします。のNULL値buffer_size 無制限のバッファサイズを表します。 |
|
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.