Mengakses Data FILESTREAM dengan Transact-SQL
Topik ini menjelaskan cara menggunakan pernyataan TRANSACT-SQL INSERT, UPDATE, dan DELETE untuk mengelola data FILESTREAM.
Catatan
Contoh dalam topik ini memerlukan database dan tabel berkemampuan FILESTREAM yang dibuat di Membuat Database FILESTREAM-Enabled dan Membuat Tabel untuk Menyimpan Data ALIRAN FILE.
Menyisipkan Baris yang Berisi Data ALIRAN FILE
Untuk menambahkan baris ke tabel yang mendukung data FILESTREAM, gunakan pernyataan TRANSACT-SQL INSERT. Saat Anda menyisipkan data ke dalam kolom FILESTREAM, Anda bisa menyisipkan NULL atau varbinary(max)
nilai.
Menyisipkan NULL
Contoh berikut menunjukkan cara menyisipkan NULL
. Ketika nilai FILESTREAM adalah NULL
, Mesin Database tidak membuat file dalam sistem file.
INSERT INTO Archive.dbo.Records
VALUES (newid (), 1, NULL);
GO
Menyisipkan Rekaman Zero-Length
Contoh berikut menunjukkan cara menggunakan INSERT
untuk membuat rekaman panjang nol. Ini berguna ketika Anda ingin mendapatkan handel file, tetapi akan memanipulasi file dengan menggunakan API Win32.
INSERT INTO Archive.dbo.Records
VALUES (newid (), 2,
CAST ('' as varbinary(max)));
GO
Membuat File Data
Contoh berikut menunjukkan cara menggunakan INSERT
untuk membuat file yang berisi data. Mesin Database mengonversi string Seismic Data
menjadi varbinary(max)
nilai. FILESTREAM membuat file Windows jika belum ada. Data kemudian ditambahkan ke file data.
INSERT INTO Archive.dbo.Records
VALUES (newid (), 3,
CAST ('Seismic Data' as varbinary(max)));
GO
Saat Anda memilih semua data dari Archive
.dbo.Records
tabel, hasilnya mirip dengan hasil yang diperlihatkan dalam tabel berikut. Namun, Id
kolom akan berisi GUID yang berbeda.
Id | SerialNumber | Lanjutkan |
---|---|---|
C871B90F-D25E-47B3-A560-7CC0CA405DAC |
1 |
NULL |
F8F5C314-0559-4927-8FA9-1535EE0BDF50 |
2 |
0x |
7F680840-B7A4-45D4-8CD5-527C44D35B3F |
3 |
0x536569736D69632044617461 |
Memperbarui Data ALIRAN FILE
Anda dapat menggunakan Transact-SQL untuk memperbarui data dalam file sistem file; meskipun, Anda mungkin tidak ingin melakukan ini ketika Anda harus mengalirkan data dalam jumlah besar ke file.
Contoh berikut mengganti teks apa pun dalam rekaman file dengan teks Xray 1
.
UPDATE Archive.dbo.Records
SET [Chart] = CAST('Xray 1' as varbinary(max))
WHERE [SerialNumber] = 2;
Menghapus Data ALIRAN FILE
Saat Anda menghapus baris yang berisi bidang FILESTREAM, Anda juga menghapus file sistem file yang mendasar. Satu-satunya cara untuk menghapus baris, dan oleh karena itu file, adalah dengan menggunakan pernyataan TRANSACT-SQL DELETE.
Contoh berikut menunjukkan cara menghapus baris dan file sistem file terkait.
DELETE Archive.dbo.Records
WHERE SerialNumber = 1;
GO
Saat Anda memilih semua data dari dbo.Archive
tabel, baris akan hilang. Anda tidak dapat lagi menggunakan file terkait.
Catatan
File yang mendasar dihapus oleh pengumpul sampah FILESTREAM.
Lihat juga
Mengaktifkan dan Mengonfigurasi FILESTREAM
Hindari Konflik dengan Operasi Database di Aplikasi FILESTREAM