使用PLSQL脚本,是否可以迭代文件夹中的二进制文件并将其作为BLOB插入Oracle 10g?任何例子都将不胜感激。
答案 0 :(得分:2)
此处介绍了将文件内容转换为blob:Using PL/SQL how do you I get a file's contents in to a blob?
但是,这无法帮助您迭代目录中的多个文件。
两种可能的解决方案:
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。
伟大的Tom“AskTom”Kyte展示了如何使用Java过程here迭代文件。