Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / System Packages
 

Write text to a file with UTL_FILE package

SQL> SQL> DECLARE   2     fid UTL_FILE.FILE_TYPE;   3     f VARCHAR(200);   4     v VARCHAR2(32767);   5     topdir VARCHAR2(100);   6   7     PROCEDURE recNgo (str IN VARCHAR2)   8     IS   9     BEGIN  10        DBMS_OUTPUT.PUT_LINE ('UTL_FILE error ' || str || ' in ' || f);  11        UTL_FILE.FCLOSE (fid);  12     END;  13  14     PROCEDURE writeit  15     IS  16     BEGIN  17         f := 'c:\a';  18         fid := UTL_FILE.FOPEN (f, 'temp.txt', 'W');  19         UTL_FILE.PUT_LINE (fid, v);  20         UTL_FILE.FCLOSE (fid);  21        DBMS_OUTPUT.PUT_LINE ('Successful write to ' || f);  22      EXCEPTION  23         WHEN UTL_FILE.INVALID_PATH THEN recNgo ('invalid_path');  24         WHEN UTL_FILE.INVALID_MODE THEN recNgo ('invalid_mode');  25         WHEN UTL_FILE.INVALID_FILEHANDLE THEN recNgo ('invalid_filehandle');  26         WHEN UTL_FILE.INVALID_OPERATION THEN recNgo ('invalid_operation');  27         WHEN UTL_FILE.READ_ERROR THEN recNgo ('read_error');  28         WHEN UTL_FILE.WRITE_ERROR THEN recNgo ('write_error');  29         WHEN UTL_FILE.INTERNAL_ERROR THEN recNgo ('internal_error');  30     END;  31  BEGIN  32     writeit;  33  END;  34  / SQL>