Partager via


Accéder aux FileTables avec Transact-SQL

Décrit comment les commandes DML (Data Manipulation Language) Transact-SQL fonctionnent avec les FileTables.

Opérations INSERT sur FileTables

Les considérations suivantes s’appliquent aux opérations INSERT sur FileTables :

  • Toutes les colonnes d’attribut de fichier ont des contraintes NOT NULL. Si les valeurs ne sont pas définies explicitement, les valeurs par défaut appropriées sont fournies.

  • Les contraintes définies par le système sont appliquées si l’instruction INSERT définit le nom, path_locator, parent_path_locator ou les attributs de fichier.

  • L’application peut obtenir le path_locator pour un fichier ou un répertoire en fournissant le chemin du système de fichiers à la fonction GetPathLocator (Transact-SQL).

Opérations UPDATE sur FileTables

Les considérations suivantes s’appliquent aux opérations UPDATE sur FileTables :

  • Les mises à jour des données définies par l’utilisateur sont autorisées.

  • Les contraintes définies par le système sont appliquées si l’instruction INSERT définit le nom, path_locator, parent_path_locator ou les attributs de fichier.

  • Les mises à jour peuvent être apportées aux données FILESTREAM dans la colonne file_stream sans affecter les autres colonnes, y compris les horodatages.

Opérations DELETE sur FileTables

Les considérations suivantes s’appliquent aux opérations DELETE sur FileTables :

  • La suppression d’une ligne supprime également le fichier ou le répertoire correspondant du système de fichiers.

  • La suppression d’une ligne échoue si la ligne correspond à un répertoire qui contient d’autres fichiers ou répertoires.

Contraintes appliquées pour les opérations DML sur FileTables

Les contraintes définies par le système garantissent que les actions DML ne compromissent pas l’intégrité de la hiérarchie d’espaces de noms de fichiers. Les contraintes appliquées sont les suivantes :

  • Lorsque vous définissez ou modifiez le nom du fichier ou du répertoire :

    • Les conventions d’affectation de noms de fichiers et de répertoires Windows sont appliquées.

    • L'unicité du nom dans le répertoire parent est imposée.

  • Lorsque vous définissez ou modifiez l’emplacement d’un fichier ou d’un répertoire en définissant ou en modifiant l’path_locator ou parent_path_locator :

    • L’unicité est appliquée.

    • La cohérence de l’arborescence hiérarchique des répertoires et des fichiers est appliquée, y compris la cohérence des valeurs de path_locator et de parent_path_locator .

  • La valeur de is_directory ne peut pas être définie sur true lorsque la colonne file_stream n’est pas null. Les données de la colonne file_stream indiquent que la ligne représente un fichier et non un répertoire.

  • Les colonnes d’attribut de fichier ne peuvent pas être null. Les contraintes NOT NULL sont appliquées avec des valeurs par défaut.

  • La valeur de last_access_time ne peut pas être antérieure à last_write_time et creation_time.

Voir aussi

Charger des fichiers dans FileTables
Utiliser des répertoires et des chemins d’accès dans FileTables
Utiliser les FileTables avec les API de fichiers Input-Output
FileTable DDL, Functions, Procédures stockées et vues