こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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を使用しております。

投稿日時 - 2005-01-17 11:37:41

QNo.1171811

困ってます

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

ひょっとしてこれ?

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;

だと出力されません。

投稿日時 - 2005-01-17 13:57:25

お礼

ご回答ありがとうございます。

やはりプロシージャでないとdbms_outputは出力されませんか・・・

ファンクションのテストにはプロシージャで行うのがよさそうですね。

投稿日時 - 2005-01-17 18:32:59

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

こんにちは。

うーん、
まさかとは思いますが、バッファサイズが0???

そんな事じゃないですよね・・・。
(^^ゞ

投稿日時 - 2005-01-17 11:49:25

お礼

ご回答ありがとうございます。

多分、バッファのサイズが0だと、
Functionは動かないと思います。

念のため、バッファサイズを確認しましたが、
0ではありませんでした。

投稿日時 - 2005-01-17 18:29:49

あなたにオススメの質問