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 path_locator für eine Datei oder ein Verzeichnis abrufen, indem in der Funktion GetPathLocator (Transact-SQL) der Dateisystempfad angegeben wird.
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