Accéder aux FileTables avec Transact-SQL

S’applique à :SQL Server

Décrit le fonctionnement des commandes DML (langage de manipulation de données) Transact-SQL sur des FileTables.

Opérations INSERT sur les FileTables

Les points suivants s'appliquent aux opérations INSERT sur les 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 les valeurs name, path_locator, parent_path_locator, ou les attributs de fichier.

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

Opérations UPDATE sur les FileTables

Les points suivants s'appliquent aux opérations UPDATE sur les FileTables :

  • Les mises à jour apportées aux 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 les valeurs name, 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 aucune des autres colonnes, dont les horodateurs.

Opérations DELETE sur les FileTables

Les points suivants s'appliquent aux opérations DELETE sur les FileTables :

  • La suppression d'une ligne supprime également le fichier ou 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 les FileTables

Les contraintes définies par le système garantissent que les actions DML ne compromettent pas l'intégrité de la hiérarchie de l'espace de noms de fichier. 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 des noms de fichiers Windows et de répertoires sont appliquées.

    • Le système impose l'unicité du nom dans le répertoire parent.

  • Quand vous définissez ou modifiez l’emplacement d’un fichier ou d’un répertoire en définissant ou en modifiant la valeur 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, notamment la cohérence des valeurs path_locator et parent_path_locator .

  • is_directory ne peut pas prendre la valeur True quand 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 pas un répertoire.

  • Les colonnes d'attributs 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 des FileTables
Travailler avec des répertoires et des chemins d’accès dans des FileTables
Accéder aux FileTables avec des API d’entrée-sortie de fichier
DDL, fonctions, procédures stockées et vues FileTable