如何使用xp_fileexist检查文件路径

时间:2017-10-04 18:08:37

标签: sql-server

我有以下代码来更新sql server中的文件路径我想检查文件中是否存在文件是否存在更新否则跳过。我使用了EXEC master.dbo.xp_fileexist @path, @result,但我得到了

  

消息4104,级别16,状态1,行10多部分标识符   " [WITESTCO] [DBO] [WIITEMX] [的itemId]&#34。;无法受约束。

declare @result as int 
declare @path as nvarchar(3000) 
set @path= '\\XY-SERVER\Data\PRODUCTION\VAULT\200000 - 399999 \PDF\'+[WITESTCO].[dbo].[WIITEMX].[itemId]+'.pdf' 
EXEC master.dbo.xp_fileexist @path, @result OUTPUT 

if @result=1 
 update [WITESTCO].[dbo].[WIITEMX] 
 set [docPath] = @path FROM [WITESTCO].[dbo].[WIITEMX]  where itemId LIKE'500%'
else  
 update [WITESTCO].[dbo].[WIITEMX] set [docPath] ='' FROM [WITESTCO].[dbo].[WIITEMX]  where itemId LIKE'500%'

1 个答案:

答案 0 :(得分:0)

更新声明看起来并不正确。删除FROM [WITESTCO].[dbo].[WIITEMX]语句和Set子句之间的Where

  if @result=1 
     update [WITESTCO].[dbo].[WIITEMX] 
     set [docPath] = @path  
     where itemId LIKE'500%'
    else      
      update [WITESTCO].[dbo].[WIITEMX] 
      set [docPath] ='' 
         where itemId LIKE'500%'