迭代PLSQL中的文件

时间:2010-05-26 20:43:44

标签: plsql oracle10g

使用PLSQL脚本,是否可以迭代文件夹中的二进制文件并将其作为BLOB插入Oracle 10g?任何例子都将不胜感激。

1 个答案:

答案 0 :(得分:2)

此处介绍了将文件内容转换为blob:Using PL/SQL how do you I get a file's contents in to a blob?

但是,这无法帮助您迭代目录中的多个文件。

两种可能的解决方案:

解决方案1:SYS.DBMS_BACKUP_RESTORE.searchFiles

您可以将此过程传递给您的搜索条件,并使用结果列表填充全局内存表,然后您可以像这样迭代:

DECLARE

pattern VARCHAR2(1024) := '/u01/oracle/admin/SID/udump';
ns VARCHAR2(1024);

BEGIN
SYS.DBMS_BACKUP_RESTORE.searchFiles(pattern, ns);

FOR each_file IN (SELECT FNAME_KRBMSFT AS name FROM X$KRBMSFT WHERE FNAME_KRBMSFT LIKE '%.trc') LOOP
DBMS_OUTPUT.PUT_LINE(each_file.name);
END LOOP;

END;
/

请参阅完整示例,其中包含出色的解释here

解决方案2:Java

伟大的Tom“AskTom”Kyte展示了如何使用Java过程here迭代文件。