Поделиться через


Доступ к таблицам FileTable с помощью Transact-SQL

Область применения: SQL Server

Описывает, как команды DML языка обработки данных Transact-SQL работают с таблицами FileTable.

Операции INSERT в таблицах FileTable

С операциями INSERT в таблицах FileTable связаны следующие моменты:

  • Все столбцы атрибутов файла имеют ограничения NO NULL. Если значения не заданы явным образом, предоставляются соответствующие значения по умолчанию.

  • Если инструкция INSERT задает значения для параметров name, path_locator, parent_path_locatorили атрибуты файлов, то применяются системные ограничения.

  • Приложение может получить path_locator для файла или каталога, предоставив путь к функции GetPathLocator (Transact-SQL).

Операции UPDATE в таблицах FileTable

С операциями UPDATE в таблицах FileTable связаны следующие моменты:

  • Разрешается обновлять любые данные, определяемые пользователем.

  • Если инструкция INSERT задает значения для параметров name, path_locator, parent_path_locatorили атрибуты файлов, то применяются системные ограничения.

  • Обновления данных FILESTREAM в столбце file_stream не влияют ни на какие другие столбцы, включая отметки времени.

Операции DELETE в таблицах FileTable

С операциями DELETE в таблицах FileTable связаны следующие моменты.

  • При удалении строки удаляется соответствующий файл или каталог из файловой системы.

  • Невозможно удалить строку, если она относится к каталогу, который содержит другие файлы или каталоги.

Ограничения, необходимые для операций DML в таблицах FileTable

Определяемые системой ограничения обеспечивают сохранение целостности иерархии пространства имен файлов во время операций DML. Принудительно применяются следующие ограничения.

  • При установке или изменении name файла или каталога:

    • Поддерживаются обозначения имен файлов и каталогов Windows.

    • Обеспечивается уникальность имени в родительском каталоге.

  • При установке или изменении расположения файла или каталога путем назначения или редактирования path_locator или parent_path_locator:

    • Обеспечивается уникальность.

    • Обеспечивается согласованность иерархического дерева каталогов и файлов, включая согласованность значений path_locator и parent_path_locator .

  • Значение is_directory не может быть задано как true для ненулевого столбца file_stream . Данные в столбце file_stream показывают, что строка соответствует файлу, а не каталогу.

  • Столбцы атрибутов файлов не могут иметь значение NULL. Ограничения NOT NULL применяются со значениями по умолчанию.

  • Значение last_access_time не может быть меньше (раньше), чем last_write_time и creation_time.

См. также

Загрузка файлов в таблицы FileTable
Work with Directories and Paths in FileTables
Доступ к таблицам FileTable с помощью API-интерфейсов ввода-вывода файлов
Инструкции FileTable языка DDL, функции, хранимые процедуры и представления