Zarządzanie danymi FILESTREAM przy użyciu języka Transact-SQL
W tym temacie opisano sposób używania Transact-SQL WSTAWIANIA, aktualizacji i usuwanie instrukcji, aby zarządzać FILESTREAM danych.
Ostrzeżenie
Przykłady w tym temacie wymagają włączoną FILESTREAM bazy danych i tabela, utworzony w jak: Tworzenie bazy danych włączono FILESTREAM i jak: Tworzenie tabeli do przechowywania danych FILESTREAM.
Wstawianie wiersza, który zawiera dane FILESTREAM
Aby dodać wiersz do tabela, która obsługuje dane FILESTREAM, użyj Transact-SQL WSTAWIĆ instrukcja.Przy wstawianiu danych do kolumna FILESTREAM można wstawić wartość NULL lub varbinary(max) wartości.
Wstawianie NULL
Poniższy przykład pokazuje sposób wstawić NULL.Gdy wartość FILESTREAM jest NULL, Aparat baz danych nie tworzy plik w systemie plików.
INSERT INTO Archive.dbo.Records
VALUES (newid (), 1, NULL);
GO
Wstawienie rekordu o zerowej długości
Poniższy przykład pokazuje sposób używania INSERT , aby utworzyć rekord o zerowej długości.Jest to przydatne, gdy chcesz uzyskać dojścia do pliku, ale będzie manipulowanie pliku za pomocą interfejsów API podsystemu Win32.
INSERT INTO Archive.dbo.Records
VALUES (newid (), 2,
CAST ('' as varbinary(max)));
GO
Tworzenie pliku danych
Poniższy przykład pokazuje sposób używania INSERT do utworzenia pliku, który zawiera dane. Aparat baz danych Konwertuje ciąg Seismic Data do varbinary(max) wartości.FILESTREAM tworzy plik Windows, jeśli jeszcze nie istnieje.Następnie dodaje się dane do pliku danych.
INSERT INTO Archive.dbo.Records
VALUES (newid (), 3,
CAST ('Seismic Data' as varbinary(max)));
GO
Po wybraniu wszystkich danych z Archive.dbo.Records tabela, wyniki są podobne do wyników, które przedstawiono w poniższej tabela.Jednakże Id kolumna będzie zawierać różne identyfikatory GUID.
Identyfikator |
Numer seryjny |
Wznów |
---|---|---|
C871B90F-D25E-47B3-A560-7CC0CA405DAC |
1 |
NULL |
F8F5C314-0559-4927-8FA9-1535EE0BDF50 |
2 |
0x |
7F680840-B7A4-45D4-8CD5-527C44D35B3F |
3 |
0x536569736D69632044617461 |
Aktualizowanie danych FILESTREAM
Można użyć Transact-SQL do aktualizacji danych w systemie pliku; chociaż nie można to zrobić, gdy strumień dużych ilości danych do pliku.
Poniższy przykład zastępuje dowolny tekst w rekordzie pliku z tekstem Xray 1.
UPDATE Archive.dbo.Records
SET [Chart] = CAST('Xray 1' as varbinary(max))
WHERE [SerialNumber] = 2;
Usuwanie danych FILESTREAM
Usunąć wiersz, który zawiera pole FILESTREAM, również usunąć jego podstawowej systemu plików.Jedynym sposobem Usuń wiersz i dlatego plik, jest użycie Transact-SQL usunąć instrukcja.
Poniższy przykład pokazuje jak usunąć wiersz i jego skojarzony plik pliki systemowe.
DELETE Archive.dbo.Records
WHERE SerialNumber = 1;
GO
Po wybraniu wszystkich danych z dbo.Archive tabela, wiersz jest nieobecne.Można już skojarzony plik.
Ostrzeżenie
Podstawowe pliki są usuwane przez FILESTREAM moduł zbierający elementy bezużyteczne.
Zobacz także