2017-10-04 17 views
0

SQL Serverのファイルパスを更新するには、次のコードが必要です。私はEXEC master.dbo.xp_fileexist @path, @resultを使用しますが、私はxp_fileexistを使用してファイルパスを確認するにはどうすればいいですか?

メッセージ4104、レベル16、状態1、行10マルチパート識別子 取得 "[WITESTCO]。[DBO]を[WIITEMX]。[品目ID]" バインドできませんでした。

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

更新ステートメントは、右を見ていません。 SetステートメントとWhereステートメントの間でFROM [WITESTCO].[dbo].[WIITEMX]を削除します。

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%' 
+0

私の問題は、この行にある '設定@パス= '\\ XY-SERVERの\データ\プロダクションの\ VAULT 200000 \ - 399999 \ PDFの\' + [WITESTCO] [DBO] [WIITEMX]。。。 [itemId] + '。pdf' pdfファイルは、WITEMXテーブルのitemidに基づいて保存されます。どのように私は連結を置き換えることができます私は問題を作成して連結を考えると – user8066749

+0

ああ...私はダム感じ...あなたはテーブルからその項目を最初に選択する必要があります。そのファイル名をパラメータとして渡すことはできますか?または、上記の変数を変数に選択します。 –

+0

まずテーブルからアイテムを選択するにはどうすればいいですか?それは私の問題です。ファイルパスを 'set @ path = '\\ XY-SERVER \ Data \ PRODUCTION \ VAULT \ 200000 - 399999 \ PDF \ itemId.pdf'' sqlのように '[WITESTCO]。[dbo] WIITEMX]。[itemId] 'part。どのようなオプションが私はハハ – user8066749

関連する問題