Приложение. Расширения SQL
Создание таблицы со столбцом типа EXTFILE
CREATE OR REPLACE TABLE [<имя схемы>.]<имя таблицы> ( ... <имя столбца> EXTFILE [ ROOT '<корневой каталог>' ] ... );
При хранении в БД имя файла преобразуется следующим образом:
-
для DOS/Windows все символы '\' заменяются на '/';
-
для ОС Linux, ЗОСРВ Нейтрино спецификация файла не меняется.
Если присутствует конструкция ROOT, то файлы с относительными именами (у которых первый символ не '/' в ОС Linux, ЗОСРВ Нейтрино и не имя устройства в Windows) ищутся относительно указанного каталога, иначе относительно каталога БД.
Если значение <корневой каталог> задает относительный путь, то он считается относительно каталога БД.
Значение <корневой каталог>, заданное в конструкции ROOT, хранится для типа EXTFILE как DEFAULT-значение, содержащее текстовую строку.
Добавление данных
INSERT INTO [<имя схемы>.]<имя таблицы> [(... <имя столбца> ...)]
VALUES (... EXTFILE('<имя файла>' [, <имя фильтра>]) | NULL ... );
<имя файла>::=NULL | ? |<спецификация файла>
Изменение данных
UPDATE [<имя схемы>.]<имя таблицы> SET <имя столбца> =
EXTFILE('<имя файла>' [,<имя фильтра>]) | NULL ... ;
Установка нового корневого каталога
ALTER TABLE [<имя схемы>.]<имя таблицы> ALTER COLUMN <имя столбца> SET ROOT '<имя каталога>';
Отмена корневого каталога
ALTER TABLE [<имя схемы>.]<имя таблицы> ALTER COLUMN <имя столбца> DROP ROOT;