Bagikan melalui


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