Aracılığıyla paylaş


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.