Détermination de l'existence de fichiers dans SQL Server
Vérifier l'existence de fichiers est une exigence courante dans le développement de bases de données. Dans SQL Server, la procédure étendue xp_fileexist peut être utilisée pour vérifier si un fichier spécifié réside sur la machine serveur.
Considérez le scénario suivant : Vous disposez d'une table nommée MyTable qui stocke les chemins de fichiers dans sa colonne filepath. Votre tâche consiste à déterminer si ces fichiers existent sur la machine et à ajouter une colonne temporaire, IsExists, au tableau pour indiquer leur présence ou leur absence.
Solution :
Créer une existence de fichier Fonction :
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
Ajouter une colonne calculée à MyTable :
ALTER TABLE MyTable ADD IsExists BIT AS dbo.fn_FileExists(filepath);
Récupérer des fichiers existants Chemins :
SELECT * FROM MyTable WHERE IsExists = 1;
Approche alternative :
Si vous préférez utiliser la fonction en dehors d'une colonne calculée, vous pouvez employer la requête suivante :
SELECT id, filepath, dbo.fn_FileExists(filepath) AS IsExists FROM MyTable;
Possible Pièges :
Si la fonction renvoie 0 pour un fichier connu, inspectez les autorisations sur le dossier et les fichiers. Assurez-vous que le compte SQL Server dispose d'un accès suffisant pour lire les fichiers.
Conclusion :
En tirant parti de la procédure xp_fileexist et en créant un fichier défini par l'utilisateur fonction, vous pouvez déterminer rapidement l'existence de fichiers dans votre environnement SQL Server et gérer plus efficacement vos tâches liées aux fichiers.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!