スプーリングは、UTL_FILE データベース パッケージを呼び出さずにデスクトップで実行できる SQL*Plus 機能です。Toad (SQL*Plus 機能を利用) もこれを行うことができます。
Justin Cave がコメントしたように、UTL_FILE はデータベース サーバーへの読み書きを目的とした Oracle データベース パッケージです (例: 11g ドキュメントhttp://docs.oracle.com/cd/B28359_01/appdev.111/b28419/u_file.htm#BABGGEDF ) 。 .
SQL*Plus のスプーリングについては、こちらに記載されています (Oracle 11g データベースhttp://docs.oracle.com/cd/E11882_01/server.112/e27507/sqlplus.htm#DFSUG144セクション 3.1.7に関連付けられています)。
次のように、TOAD で「スクリプトとして実行」を選択できます。
set serveroutput on
spool c:\temp.lst
begin
dbms_output.put_line('My text');
end;
/
spool off
スプーリングはクライアント側の機能 (SQL*Plus) であるため、プロシージャ (以下では my_procedure と呼びます) 内で dbms_output を呼び出したい場合は、プロシージャを駆動する SQL スクリプトを作成するだけです。
これを sql スクリプトの内容にすることができます (例: test_dbms_output.sql):
SET serveroutput ON
spool c:\temp.lst
BEGIN
my_procedure(params);
END;
/
spool OFF
次に、このスクリプトを SQL*Plus 実行コマンド (Toad では「スクリプトとして実行」) で呼び出すことができます。
@test_dbms_output.sql;
また
run test_dbms_output.sql;