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


Доступ к fileTables с помощью Transact-SQL

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

Операции INSERT с ФайлТаблицами

Следующие рекомендации относятся к операциям INSERT в FileTables:

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

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

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

Операции UPDATE в FileTables

Следующие рекомендации относятся к операциям UPDATE в FileTables:

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

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

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

Операции DELETE с таблицами файлов

Следующие рекомендации относятся к операциям DELETE в FileTables:

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

  • Удаление строки завершается ошибкой, если строка соответствует каталогу, который содержит другие файлы или каталоги.

Ограничения, которые применяются для операций DML в fileTables

Системные ограничения гарантируют, что действия DML не скомпрометирует целостность иерархии пространства имен файлов. К ограничениям, которые применяются, относятся следующие:

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

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

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

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

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

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

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

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

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

См. также

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