Приложение. Расширения 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;