SERVEROUTPUTはデフォルト状態だと暗黙的にLTRIMしてしまうので、いやなら
set serveroutput on format wrapped
としましょう。formatの指定は
- WRAPPED
- 行サイズを超過する場合に文字ベースで折り返しを行なう。
- WORD_WRAPPED
- 行サイズを超過する場合に単語ベースで折り返しを行なう。(デフォルト)
- TRUNCATED
- 行サイズを超過した部分は切り捨てされる。
という感じ
これで以下の結果が
DECLARE BEGIN DBMS_OUTPUT.PUT_LINE(' a'); END; a
となります。
まあ、そんな要件があるならDBMS_FILEを使いましょうということですね。