Zugreifen auf FileTables mit Transact-SQL

Gilt für:SQL Server

Beschreibt, wie die Befehle der Transact-SQL-Datenbearbeitungssprache (Data Manipulation Language, DML) mit FileTables verwendet werden.

INSERT-Vorgänge in FileTables

Die folgenden Überlegungen gelten für INSERT -Vorgänge in FileTables:

  • Alle Dateiattributspalten besitzen NOT NULL-Einschränkungen. Wenn Werte nicht explizit festgelegt werden, werden entsprechende Standardwerte angegeben.

  • Systemdefinierte Einschränkungen werden erzwungen, wenn die INSERT-Anweisung name, path_locator, parent_path_locatoroder Dateiattribute festlegt.

  • Die Anwendung kann die path_locator für eine Datei oder ein Verzeichnis abrufen, indem sie den Dateisystempfad zur Funktion GetPathLocator (Transact-SQL) bereitstellt.

UPDATE-Vorgänge in FileTables

Die folgenden Überlegungen gelten für UPDATE -Vorgänge in FileTables:

  • Aktualisierungen an benutzerdefinierten Daten sind zulässig.

  • Systemdefinierte Einschränkungen werden erzwungen, wenn die INSERT-Anweisung name, path_locator, parent_path_locatoroder Dateiattribute festlegt.

  • Aktualisierungen können an den FILESTREAM-Daten in der Spalte file_stream ohne Auswirkungen auf die anderen Spalten, einschließlich Timestamps, vorgenommen werden.

DELETE-Vorgänge in FileTables

Die folgenden Überlegungen gelten für DELETE -Vorgänge in FileTables:

  • Durch Löschen einer Zeile wird auch die entsprechende Datei oder das entsprechende Verzeichnis aus dem Dateisystem entfernt.

  • Das Löschen einer Zeile schlägt fehl, wenn die Zeile einem Verzeichnis entspricht, das andere Dateien oder Verzeichnisse enthält.

Einschränkungen, die für DML-Vorgänge in FileTables erzwungen werden

Systemdefinierte Einschränkungen stellen sicher, dass DML-Aktionen nicht die Integrität der Dateinamespacehierarchie beeinträchtigen. Zu den Einschränkungen, die erzwungen werden, gehören Folgende:

  • Wenn Sie name der Datei oder des Verzeichnisses festgelegt oder geändert haben:

    • Die Windows-Benennungskonventionen für Dateien und Verzeichnisse werden erzwungen.

    • Die Eindeutigkeit des Namens im übergeordneten Verzeichnis wird erzwungen.

  • Wenn Sie den Speicherort einer Datei oder eines Verzeichnisses durch Festlegen oder Ändern von path_locator oder parent_path_locatorfestgelegt oder geändert haben:

    • Eindeutigkeit wird erzwungen.

    • Die Konsistenz der hierarchischen Struktur von Verzeichnissen und Dateien wird erzwungen, einschließlich der Konsistenz der Werte path_locator und parent_path_locator .

  • Der Wert für is_directory kann nicht auf TRUE festgelegt werden, wenn die file_stream -Spalte nicht NULL ist. Daten in der file_stream -Spalte geben an, dass die Zeile eine Datei und nicht ein Verzeichnis darstellt.

  • Spalten mit Dateiattributen können nicht NULL sein. NOT NULL-Einschränkungen werden mit Standardwerten erzwungen.

  • Der Wert last_access_time kann nicht vor last_write_time und creation_timeliegen.

Weitere Informationen

Laden von Dateien in FileTables
Verwenden von Verzeichnissen und Pfaden in FileTables
Zugreifen auf FileTables mit Datei-E/A-APIs
FileTable-DDL, Funktionen, gespeicherte Prozeduren und Sichten