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