System Packages Oracle PLSQL Tutorial

SQL>
SQL> CREATE OR REPLACE PROCEDURE sp_utlfile
  2  IS
  3    v_filehandle UTL_FILE.FILE_TYPE;
  4    v_newline VARCHAR2(1023);
  5  BEGIN
  6    IF NOT UTL_FILE.IS_OPEN(v_filehandle) THEN
  7      v_filehandle := UTL_FILE.FOPEN('c:\temp', 'input_file.txt', 'r');
  8    END IF;
  9
 10    LOOP
 11      BEGIN
 12
 13        UTL_FILE.GET_LINE(v_filehandle, v_newline);
 14        DBMS_OUTPUT.PUT_LINE (v_newline);
 15      EXCEPTION
 16
 17        WHEN NO_DATA_FOUND THEN
 18          EXIT;
 19      END;
 20    END LOOP;
 21
 22    UTL_FILE.FCLOSE(v_filehandle);
 23
 24  EXCEPTION
 25    WHEN UTL_FILE.INVALID_PATH THEN
 26      UTL_FILE.FCLOSE_ALL;
 27      RAISE_APPLICATION_ERROR(-20051, 'Invalid Path');
 28
 29    WHEN UTL_FILE.INVALID_MODE THEN
 30      UTL_FILE.FCLOSE_ALL;
 31      RAISE_APPLICATION_ERROR(-20052, 'Invalid Mode');
 32
 33    WHEN UTL_FILE.INTERNAL_ERROR THEN
 34      UTL_FILE.FCLOSE_ALL;
 35      RAISE_APPLICATION_ERROR(-20053, 'Internal Error');
 36
 37    WHEN UTL_FILE.INVALID_OPERATION THEN
 38      UTL_FILE.FCLOSE_ALL;
 39      RAISE_APPLICATION_ERROR(-20054, 'Invalid Operation');
 40
 41    WHEN UTL_FILE.INVALID_FILEHANDLE THEN
 42      UTL_FILE.FCLOSE_ALL;
 43      RAISE_APPLICATION_ERROR(-20055, 'Invalid Operation');
 44
 45    WHEN UTL_FILE.WRITE_ERROR THEN
 46      UTL_FILE.FCLOSE_ALL;
 47      RAISE_APPLICATION_ERROR(-20056, 'Invalid Operation');
 48  END;
 49  /
Warning: Procedure created with compilation errors.
SQL>
SQL> execute sp_utlfile ;
BEGIN sp_utlfile ; END;
      *
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00905: object RNTSOFT.SP_UTLFILE is invalid
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
SQL>