UTL FILE
From Oracle FAQ
UTL_FILE is a PL/SQL package that can be used to write to operating system files on a local file system where the database resides.
Example[edit]
Create a database directory:
CREATE OR REPLACE DIRECTORY tmp AS '/tmp';
Write a file out to disk:
DECLARE fHandle UTL_FILE.FILE_TYPE; BEGIN fHandle := UTL_FILE.FOPEN('TMP', 'myoutput', 'W'); UTL_FILE.PUTF(fHandle, ' --- Heading 1 ---\n'); UTL_FILE.PUTF(fHandle, ' --- Heading 2 ---\n'); UTL_FILE.PUTF(fHandle, ' --- Heading 3 ---\n'); UTL_FILE.FCLOSE(fHandle); EXCEPTION WHEN utl_file.invalid_path THEN raise_application_error(-20000, 'ERROR: Invalid path for file.'); END; /
Read the file back in:
DECLARE fhandle UTL_FILE.FILE_TYPE; line VARCHAR2(80); BEGIN fhandle := UTL_FILE.FOPEN('TMP', 'myoutput', 'R'); LOOP UTL_FILE.GET_LINE(fhandle, line); IF line IS NULL THEN dbms_output.put_line('Got empty line'); ELSE dbms_output.put_line('Non empty line: '||line); END IF; END LOOP; EXCEPTION WHEN no_data_found THEN dbms_output.put_line('No more data to read'); END; /