• ベストアンサー

Function内に記述したdbms_output.put_lineの表示について

Functionのテスト(デバッグ)にて、 dbms_output.put_lineを使用しております。 しかし、 SQL*Plusで「SET SERVEROUTPUT ON」を発行してから SELECT文を発行しても、 「dbms_output.put_line」で指定した値が表示されません。 ソースにはdbms_output.put_line文を入力しておりますし、 コンパイルも通っております。 SELECT文にてdbms_output.put_lineで指定した値を表示するには、 どのようにすればよいのでしょうか? なお環境は、 Oracle8iを使用しております。

質問者が選んだベストアンサー

  • ベストアンサー
  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.2

ひょっとしてこれ? dbms_outputはPL/SQLでのみ動くので、 declare a varchar2(1); begin select fnc(2) into a from tbl where col1 = 'hoge' ; end; / なら出力されますが、 select fnc(2) from tbl; だと出力されません。

susumufire
質問者

お礼

ご回答ありがとうございます。 やはりプロシージャでないとdbms_outputは出力されませんか・・・ ファンクションのテストにはプロシージャで行うのがよさそうですね。

その他の回答 (1)

回答No.1

こんにちは。 うーん、 まさかとは思いますが、バッファサイズが0??? そんな事じゃないですよね・・・。 (^^ゞ

susumufire
質問者

お礼

ご回答ありがとうございます。 多分、バッファのサイズが0だと、 Functionは動かないと思います。 念のため、バッファサイズを確認しましたが、 0ではありませんでした。