Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengesahkan Kewujudan Fail dalam SQL Server untuk Setiap Baris dalam Jadual?

Bagaimanakah Saya Boleh Mengesahkan Kewujudan Fail dalam SQL Server untuk Setiap Baris dalam Jadual?

Linda Hamilton
Lepaskan: 2025-01-06 02:33:40
asal
388 orang telah melayarinya

How Can I Verify File Existence in SQL Server for Each Row in a Table?

Mengesahkan Kewujudan Fail dalam SQL Server

Pernyataan Masalah

Diberikan jadual dengan laluan fail disimpan dalam lajur, tugasnya adalah untuk menentukan sama ada setiap fail wujud secara fizikal dalam sistem fail. Matlamatnya adalah untuk menambah lajur sementara untuk menunjukkan "Ya" untuk fail sedia ada dan "Tidak" untuk fail yang tidak wujud.

Penyelesaian

Untuk mencapai matlamat ini, kami boleh menggunakan prosedur tersimpan lanjutan master.dbo.xp_fileexist, yang menyemak kewujudan fail tertentu. Walau bagaimanapun, untuk menggunakan teknik ini pada jadual, fungsi tersuai diperlukan.

Fungsi Tersuai

CREATE FUNCTION dbo.fn_FileExists(@path varchar(512))
RETURNS BIT
AS
BEGIN
     DECLARE @result INT
     EXEC master.dbo.xp_fileexist @path, @result OUTPUT
     RETURN cast(@result as bit)
END;
GO
Salin selepas log masuk

Menambah Lajur Terkira

Edit jadual untuk menambah lajur yang dikira dipanggil IsExists dengan ungkapan:

dbo.fn_FileExists(filepath)
Salin selepas log masuk

Penggunaan

Kini, anda hanya boleh memilih rekod dengan fail sedia ada:

SELECT * FROM dbo.MyTable where IsExists = 1
Salin selepas log masuk

Penggunaan Alternatif (Di Luar Lajur Pengiraan)

Untuk menggunakan fungsi di luar pengiraan lajur:

select id, filename, dbo.fn_FileExists(filename) as IsExists
from dbo.MyTable
Salin selepas log masuk

Menyelesaikan masalah

Jika fungsi mengembalikan 0 untuk fail yang diketahui, semak kebenaran folder dan pastikan akaun SQL Server mempunyai akses baca sahaja. Selain itu, tambahkan akaun "Perkhidmatan Rangkaian" pada tetapan keselamatan folder untuk memberikan akses.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Kewujudan Fail dalam SQL Server untuk Setiap Baris dalam Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan