Чтение файла с любым именем по дате в PL / SQL с использованием UTL_FILE - PullRequest
0 голосов
/ 18 февраля 2019

Я работаю над процедурой чтения файлов из PL / SQL. Мне удалось прочитать конкретный файл, но теперь я хочу сделать это динамически, потому что у меня будет несколько файлов, начиная с даты, например:

  • 20190218 111833_Worker.dat
  • 20190218 114249_Job.dat
  • 20190218 114353_Organizations

Мне нужно прочитать последний файл этого примера.

Любое мнение приветствуется.Привет.

1 Ответ

0 голосов
/ 19 февраля 2019

Ранее задавался вопрос «Как составить список файлов в каталоге с использованием PL / SQL» (например, один , два ).У вас есть несколько вариантов:

  • Использовать внешние таблицы со скриптом препроцессора - пример 1 , пример 2
  • Создать класс Java - пример 1 , пример 2
  • Использование SYS.DBMS_BACKUP_RESTORE.searchFiles с недокументированным X$KRBMSFT - пример 1 , пример 2 (Я не мог заставить это работать на 12c, возможно, что это работает только на 11g и ранее)

Как только у вас есть способ выбрать список ваших имен файлов, вы можете просто сделатьупорядочить и отфильтровать его, чтобы он возвращал только первую строку, например

select filename
from my_file_list
order by substr(filename, 1, 15) desc
fetch first 1 row only;
...