フラットファイルへの書き込みにはUTL_FILEパッケージを使用できます。このファイルはデータベースサーバーで生成されます。
UTL_FILEを使用するための前提条件:
a。データベース上の物理的な場所を指すディレクトリオブジェクトを作成します。b。使用しているユーザー/スキーマがこの場所への読み取り/書き込みアクセス権を持っていることを確認してくださいc。 UTL_FILEがデータベースにインストールされていることを確認し(utl_fileをSYSとして実行)、使用しているアカウントにUTL_FILEの実行を許可します。
UTL_FILEの擬似コード:
DECLARE
view_name VARCHAR2 (200);
v_str VARCHAR2 (1000);
v_output VARCHAR2 (4000);
CURSOR tbl IS
SELECT view_name
FROM all_views
WHERE owner = Sys_context ('USERENV', 'CURRENT_SCHEMA')
ORDER BY 1;
l_filehandle utl_file.file_type%TYPE; --Create a Variable with Filetype record
BEGIN
l_filehandle := utl_file.fopen(<directory_object>, <filename>, 'W'); --Call to open the file for Write Operation
OPEN tbl;
LOOP
FETCH tbl
INTO view_name;
EXIT
WHEN tbl%NOTFOUND;
v_str := 'Select '
|| view_name
|| ', count (*) from '
||view_name;
EXECUTE IMMEDIATE v_str INTO v_output;
utl_file.Put_line(l_filehandle,v_output); --Actual Writing of line infile
END LOOP;
CLOSE tbl;
utl_file.Fclose(l_filehandle);
END;
これがお役に立てば幸いです