Приложение. Расширения SQL
Создание таблицы со столбцом типа EXTFILE
CREATE OR REPLACE TABLE [<имя схемы>.]<имя таблицы> ( ... <имя столбца> EXTFILE [ ROOT '<корневой каталог>' ] ... );
При хранении в БД имя файла преобразуется следующим образом:
-
для DOS/Windows все символы '\' заменяются на '/';
-
для UNIX спецификация файла не меняется.
Если присутствует конструкция ROOT, то файлы с относительными именами (у которых первый символ не '/' в UNIX и не имя устройства в 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;