我有以下代码来更新docPath
字段,我需要有关如何在运行更新语句之前检查文件是否存在的帮助,或者仅在文件存在于目录中时更新,否则跳过
INSERT INTO DocPath(itemId,docPath)
SELECT
itemId,
'\\ABC-SERVER\Data\PRODUCTION\VAULT\2500000 - 2599999 \PDF\''
+[WITESTCO].[dbo].[WIITEMX].[itemId]
+'.pdf' as docPath
FROM [WITESTCO].[dbo].[WIITEMX]
WHERE
itemId like '2500%' or itemId like '2501%' ;
答案 0 :(得分:0)
创建一个像这样的函数
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
并使用像这样的功能
IF dbo.fn_FileExists('MyPath') = 1
INSERT INTO DocPath(itemId,docPath)
SELECT itemId,'MyPath' ...;