Итерация по файлам в PLSQL

Используя сценарий PLSQL, действительно ли возможно выполнить итерации по двоичным файлам в папке и вставить их как BLOB в Oracle 10 г? Любые примеры ценились бы.

1
задан Abdullah Jibaly 26 May 2010 в 20:43
поделиться

1 ответ

Преобразование содержимого файла в блоб рассматривается здесь: Используя PL/SQL, как мне получить содержимое файла в блоб?

Однако это не поможет вам выполнить итерацию по нескольким файлам в каталоге.

Два возможных решения:

Решение 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;
/

Смотрите полный пример с отличным объяснением здесь.

Решение 2: Java

Великий Том "AskTom" Кайт показывает, как выполнять итерацию по файлам с помощью процедуры Java здесь.

2
ответ дан 3 September 2019 в 00:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: