DBMS_OUTPUTで空行を出力する方法についてです。
「DBMS_OUTPUT.PUT_LINE」を使うときにはまず、「set serveroutput on」を設定します。
しかしこれだと、空行が表示できません。また、行頭に半角空白があってもそれを出力しません。
set serveroutput on BEGIN DBMS_OUTPUT.PUT_LINE(' hoge '); DBMS_OUTPUT.PUT_LINE(''); DBMS_OUTPUT.NEW_LINE; DBMS_OUTPUT.PUT_LINE(' hoge '); END; / 実行結果
hoge hoge 空行や行頭の半角空白を出力したい場合には「set serveroutput on format wrapped」を指定します。
※省略形は「set serverout on format wrap」です。
set serveroutput on format wrapped BEGIN DBMS_OUTPUT.PUT_LINE(' hoge '); DBMS_OUTPUT.PUT_LINE(''); DBMS_OUTPUT.NEW_LINE; DBMS_OUTPUT.PUT_LINE(' hoge '); END; / 実行結果
hoge hoge ただし、これでも行末の半角空白は削除されます。そこはあきらめるしかなさそうです。
ちなみに DBMS_OUTPUT.PUT_LINE(CHR(10)); DBMS_OUTPUT.PUT_LINE(CHR(9)); などと、見えない制御文字を出力する方法を紹介しているサイトもありましたが、あまり好ましくないと思います。
2011/06/27
|
DBに関するCode Tips >