我有兩個(不知何故相關)與XML字段的表。問題是我必須用第二個XML的數據更新第一個XML。超過100條記錄。如何用TSQL做到這一點?TSQL:如何從來自其他表的xml中的值更新xml字段?
我已經創建了這樣的東西。
UPDATE [pwi_new].[dbo].[art]
SET rest.modify('
replace value of (/root/e[k="alien_id"]/v[1]/text())[1]
with sql:column("new.rest.value(
''(/root/e[k="alien_id"/v)[1]'',''varchar(max)'')
")
')
FROM art_new AS new WHERE
(
art.title = new.title
OR art.id = 1352 AND new.id = 119
OR art.id = 1353 AND new.id = 120
OR art.id = 1379 AND new.id = 146
OR art.id = 1380 AND new.id = 147
)
AND art.parent = 1460
但是,它不起作用。我得到這個錯誤
的XQuery [pwi_new.dbo.art.rest.modify()]:
: '' 或 ')' 在此行預計''(/root/e[k="alien_id"/v)[1]'',''varchar(max)'')
並且如果可能的話,不知道如何解決。
它看起來不可能沒有子查詢,cte,視圖等。
TSQL: How can I update the value of an xml tag with the value of an xml tag from another related table?
我知道這個問題。我有超過100條記錄,所以我想要一個不需要sql的選項:變量
如何將兩個表相關的?另一篇文章看起來非常接近你所描述的你想要的東西。 –
表格與1到1相關。但是沒有簡單的鍵。不同的是,我有超過100條記錄要更新,而不是一條。 – Michas
「它不起作用」。它會拋出一個錯誤嗎?怎麼了? –