Процедура GET_LINE используется не для записи в файл, а для чтения из файла. Одна строка текста считывается в указанном файле и возвращается параметром BUFFER. Символ новой строки в возвращаемую последовательность не включается. Описание процедуры GET_LINE выглядит следующим образом:
procedure GET_LINE (file_handle in FILE TYPE, buffer out varchar2);
Когда из файла считывается последняя строка, устанавливается исключительная ситуация NO_DАТА_FOUND. Если строка не помещается в буфер, размер которого указан как фактический параметр, устанавливается VALUE_ERROR. При чтении пустой строки возвращается пустая последовательность символов (NULL). В случае ошибки записи устанавливается UTL_FILE.READ_ERROR. Максимальный размер входной строки составляет 1022 байта (если параметром MАХLINESIZE функции FOPEN не задан другой размер). Параметры процедуры GET_LINE описаны в следующей таблице.
Таблица 11 Параметры функции GET_LINE
| Параметр
| Тип
| Описание
|
|
|
|
|
| file_handle
| UTL_FILE.FILE_TYPE
| Описатель файла, возвращаемый функцией FOPEN. Если описатель некорректен, то устанавливается
UTL_FILE.INVALID_FILEHANDLE.
|
|
| Продолжение таблицы 11
|
|
|
|
|
| buffer
| varchar2
| Буфер, в который записывается строка. Если файл не был открыт на чтение (‘r’) то устанавливается UTL_FILE.INVALID_OPERATION.
|
При написании приложений, использующих процедуры и функции модуля UTL_FILE рекомендуется всегда включать обработчики реальных ошибок, которые могут произойти при вызове определенных процедур или функций.