Erişim FILESTREAM veri Transact-sql ile
Bu konuda nasıl kullanılacağını açıklar Transact-SQLekleme, güncelleştirme ve silme FILESTREAM verilerini yönetmek için deyimleri.
[!NOT]
Bu konudaki örneklerde FILESTREAM etkin veritabanı ve oluşturulan tablo gerektiren FILESTREAM etkin veritabanı oluşturmakve FILESTREAM veri depolama için bir tablo oluşturmak.
Bu Konuda
FILESTREAM veri içeren bir satır ekleme
FILESTREAM veri güncelleştirme
FILESTREAM veri silme
FILESTREAM veri içeren bir satır ekleme
FILESTREAM veri destekleyen bir tabloya satır eklemek için Transact-SQLINSERT deyimi. FILESTREAM sütun veri eklediğinizde, null ekleyebilir ya da 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ıDosya sistemindeki bir dosyayı oluşturmaz.
INSERT INTO Archive.dbo.Records
VALUES (newid (), 1, NULL);
GO
Bir sıfır uzunlukta kayıt ekleme
Aşağıdaki örnek, nasıl kullanılacağını gösterir INSERTsıfır uzunlukta kayıt oluşturmak. Bu ne zaman bir tanıtıcı elde etmek istiyorum ama dosya Win32 API'lerini kullanarak idare kullanışlı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 INSERTveri içeren bir dosya oluşturmak için. Veritabanı AltyapısıDize dönüştürür Seismic Dataiçin bir varbinary(max)değer. Zaten yoksa, FILESTREAM 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 verileri seçtiğinizde Archive. dbo.Recordstablo, sonuçları aşağıdaki tabloda gösterilen sonuçları benzer. Ancak, Idsütun içerir farklı GUID'ler.
ID |
Seri numarası |
Özgeçmiş |
---|---|---|
C871B90F-D25E-47B3-A560-7CC0CA405DAC |
1 |
NULL |
F8F5C314-0559-4927-8FA9-1535EE0BDF50 |
2 |
0x |
7F680840-B7A4-45D4-8CD5-527C44D35B3F |
3 |
0x536569736D69632044617461 |
[YUKARI]
FILESTREAM veri güncelleştirme
Sen-ebilmek kullanma Transact-SQLne zaman sen-si olmak-e büyük miktarda veriyi bir dosyaya akış bunu yapmak istemeyebilirsiniz, ancak dosya sistemi dosyasına; verileri güncelleştirmek için.
Aşağıdaki örnek herhangi bir metin dosyası kaydında metinle değiştirir Xray 1.
UPDATE Archive.dbo.Records
SET [Chart] = CAST('Xray 1' as varbinary(max))
WHERE [SerialNumber] = 2;
[YUKARI]
FILESTREAM veri silme
FILESTREAM alan içeren bir satır sildiğinizde, ayrıca temel dosya sistem dosyalarını silin. Kullanmak için bir satır ve bu nedenle dosyayı silmek için tek yol olduğunu Transact-SQLdelete deyimi.
Aşağıdaki örnek, satır ve ilişkili dosya sistem dosyalarını silmek gösterilmiştir.
DELETE Archive.dbo.Records
WHERE SerialNumber = 1;
GO
Tüm verileri seçtiğinizde dbo.Archivetablo satırı gitti. Artık ilişkili dosya kullanabilirsiniz.
[!NOT]
FILESTREAM Çöp Toplayıcısı tarafından temel alınan dosyalar kaldırılır.
[YUKARI]
Ayrıca bkz.
Kavramlar
Etkinleştirme ve FILESTREAM yapılandırma
FILESTREAM uygulamalarında veritabanı işlemleri ile çatışmaları önlemek