我有以下代码来更新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%'
答案 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%'