Intermediate
Q: | ||||||||||
24-13. | You can do these operations:
You definitely cannot do these operations:
You can accomplish these tasks only by reading in the complete contents of a file and then processing that text (write it to another file or to a another file in a different directory, or count the bytes):
| |||||||||
Q: | ||||||||||
24-14. | You see the following exception: ORA-01403: no data found This program keeps on reading forever, or until an exception is raised. UTL_FILE.GET_LINE raises the NO_DATA_FOUND exception when it reads past the end of the file, so you get an unhandled exception. | |||||||||
Q: | ||||||||||
24-15. | Here is one possible implementation: /* Filename on web page: showfile.sp */ CREATE OR REPLACE PROCEDURE show_file ( loc IN VARCHAR2, file IN VARCHAR2 ) IS fid UTL_FILE.FILE_TYPE := UTL_FILE.FOPEN (loc, file, 'R'); line VARCHAR2(2000); BEGIN DBMS_OUTPUT.PUT_LINE ('Contents of ' || file); LOOP UTL_FILE.GET_LINE (fid, line); DBMS_OUTPUT.PUT_LINE (line); END LOOP; EXCEPTION WHEN OTHERS THEN UTL_FILE.FCLOSE (fid); END; / Notice that this program reads and displays ... |
Get Oracle PL/SQL Programming: A Developer's Workbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.