Menentukan Kewujudan Fail dalam SQL Server
Menyemak kewujudan fail adalah keperluan biasa dalam pembangunan pangkalan data. Dalam SQL Server, prosedur lanjutan xp_fileexist boleh digunakan untuk mengesahkan sama ada fail tertentu berada pada mesin pelayan.
Pertimbangkan senario berikut: Anda mempunyai jadual bernama MyTable yang menyimpan laluan fail dalam lajur laluan failnya. Tugas anda ialah untuk menentukan sama ada fail ini wujud pada mesin dan menambah lajur sementara, IsExists, pada jadual untuk menunjukkan kehadiran atau ketiadaan fail tersebut.
Penyelesaian:
Buat Kewujudan Fail Fungsi:
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
Tambah Lajur Dikira pada MyTable:
ALTER TABLE MyTable ADD IsExists BIT AS dbo.fn_FileExists(filepath);
Dapatkan semula Fail dengan Sedia Ada Laluan:
SELECT * FROM MyTable WHERE IsExists = 1;
Pendekatan Ganti:
Jika anda lebih suka menggunakan fungsi di luar lajur yang dikira, anda boleh menggunakan pertanyaan berikut:
SELECT id, filepath, dbo.fn_FileExists(filepath) AS IsExists FROM MyTable;
Mungkin Perangkap:
Jika fungsi mengembalikan 0 untuk fail yang diketahui, periksa kebenaran pada folder dan fail. Pastikan akaun SQL Server mempunyai akses yang mencukupi untuk membaca fail.
Kesimpulan:
Dengan memanfaatkan prosedur xp_fileexist dan mencipta yang ditentukan pengguna fungsi, anda boleh dengan cepat menentukan kewujudan fail dalam persekitaran SQL Server anda dan mengurus tugas berkaitan fail anda dengan lebih cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Kewujudan Fail dalam SQL Server dan Nyatakannya dalam Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!