固定長、CSVともに、SQLで整形して出力可能。
SQLPLUS & SPOOLの代替案。
- Source
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DECLARE | |
l_filename VARCHAR2(300) :='<FILENAME>'; -- 出力するファイル名 | |
l_fh UTL_FILE.FILE_TYPE; | |
l_dir VARCHAR2(300) :='<DIRECTORY_NAME>';-- 出力先 | |
BEGIN | |
l_fh := UTL_FILE.FOPEN(l_dir,l_filename,'W'); -- STEP1: FILE OPEN | |
FOR cu_rec in ( | |
--SQL statement | |
select 'A'|| | |
rpad(substr(<Columnname>,6),6,' ') || --- 一部切り出す場合 | |
rpad(<Columnname>,20,' ') || | |
rpad(NVL(<Columnname>,' '),60,' ') -- NULL の場合は空白とか | |
) TEXT | |
from <table> | |
where 1=1) | |
LOOP | |
UTL_FILE.PUT_LINE(l_fh,cu_rec.TEXT); -- STEP2: 出力 | |
-- dbms_output.put_line (cu_rec.TEXT); | |
END LOOP; | |
UTL_FILE.FCLOSE(l_fh); -- STEP3: FILE CLOSE | |
END; |
0 件のコメント:
コメントを投稿