FILESTREAM veri Transact-SQL kullanarak yönetme
Bu konuda nasıl kullanılacağını açıklar Transact-SQL eklemek, GÜNCELLEŞTİRMEK ve delete deyimlerini yönetmek FILESTREAM veri.
Not
Bu konudaki örneklerde FILESTREAM etkinleştirilmiş bir veritabanına ve oluşturulan tablo gerektiren nasıl yapılır: FILESTREAM etkinleştirilmiş bir veritabanını oluşturmak ve nasıl yapılır: FILESTREAM verilerini depolamak için bir tablo oluşturmak.
FILESTREAM veriler içeren bir satır ekleme
Bir satır eklemek için bir tablo FILESTREAM verileri destekleyen, kullanın Transact-SQL Ekle deyim.Bir FILESTREAM veri eklediğinizde sütun, null ekleyebilirsiniz veya bir varbinary(max) değer.
null ekleme
Aşağıdaki örnek nasıl ekleneceğini gösterir NULL.FILESTREAM değeri olduğunda NULL, Veritabanı Altyapısı olmayan bir dosya oluşturun dosya sistemi.
INSERT INTO Archive.dbo.Records
VALUES (newid (), 1, NULL);
GO
Sıfır uzunlukta kayıt ekleme
Aşağıdaki örnek, nasıl kullanılacağını gösterir INSERT oluşturma bir sıfır uzunluklu kaydı.Ne zaman, bir dosya tanıtıcı elde etmek istiyorsunuz, ancak Win32 API'lerini kullanarak dosyayı işlemek için yararlıdır.
INSERT INTO Archive.dbo.Records
VALUES (newid (), 2,
CAST ('' as varbinary(max)));
GO
Bir veri dosyası oluşturma
Aşağıdaki örnek, nasıl kullanılacağını gösterir INSERT veri içeren bir dosya oluşturmak içinThe Veritabanı Altyapısı converts the string Seismic Data to a varbinary(max) value.FILESTREAM, henüz yoksa, Windows dosyası oluşturur.Veriler daha sonra veri dosyasına eklenir.
INSERT INTO Archive.dbo.Records
VALUES (newid (), 3,
CAST ('Seismic Data' as varbinary(max)));
GO
Tüm veriler seçtiğinizde, Archive.dbo.Records Tablo, sonuçlar aşağıdaki tabloda gösterilen sonuçlar benzerAncak, Id sütun içerecek farklı bir GUID.
Kimliği |
Seri numarası |
Devam et |
---|---|---|
C871B90F-D25E-47B3-A560-7CC0CA405DAC |
1 |
NULL |
F8F5C314-0559-4927-8FA9-1535EE0BDF50 |
2 |
0x |
7F680840-B7A4-45D4-8CD5-527C44D35B3F |
3 |
0x536569736D69632044617461 |
FILESTREAM verileri güncelleştirme
Kullanabileceğiniz Transact-SQL olsa da, bunu zaman akışını büyük miktarda veriyi dosya. sahip istemeyebilirsiniz; dosya sistemi dosyasına verileri güncelleştirmek için
Aşağıdaki örnek herhangi bir metin dosyası kayıt içindeki metinle değiştirir Xray 1.
UPDATE Archive.dbo.Records
SET [Chart] = CAST('Xray 1' as varbinary(max))
WHERE [SerialNumber] = 2;
FILESTREAM veri silme
FILESTREAM alan içeren bir satır sildiğinizde, aynı zamanda onun temel dosya sistem dosyalarını silin.Bir satır ve bu nedenle dosyayı silmek için tek yol Transact-SQL delete deyim.
Aşağıdaki örnek, satır ve ilişkili dosya sistem dosyalarını silmek nasıl gösterir.
DELETE Archive.dbo.Records
WHERE SerialNumber = 1;
GO
Tüm veriler seçtiğinizde, dbo.Archive , tablo satır gitmiş.Artık ilişkili dosyası kullanabilirsiniz.
Not
FILESTREAM atık toplayıcı tarafından temel alınan dosyalar kaldırılır.