使用UTL_FILE通过PL / SQL按日期读取任何名称的文件

时间:2019-02-18 19:07:27

标签: database oracle stored-procedures plsql utl-file

我正在研究一个从PL / SQL读取文件的过程,我已经设法读取一个特定的文件,但是现在我想动态地进行处理,因为我将有多个以日期开头的文件,例如:

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

我需要阅读的是该示例的最新文件。

任何意见都值得赞赏。 问候。

1 个答案:

答案 0 :(得分:0)

以前曾问过“如何使用PL / SQL列出目录中的文件”(例如onetwo)。您有几种选择:

  • 将外部表与预处理器脚本一起使用-example 1example 2
  • 创建一个Java类-example 1example 2
  • SYS.DBMS_BACKUP_RESTORE.searchFiles与未记录的X$KRBMSFT-example 1example 2结合使用(我无法在12c上使用此功能,它可能仅在11g和之前)

一旦您可以选择文件名列表,就可以按顺序排序并对其进行过滤,以仅返回第一行,例如

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