我必须更新我的XML列中的值:
UPDATE HR_XML
SET Salaries.modify('replace value of
(/Salaries/Marketing/Employee[@ID=("2")]/Salary/text())[1]
with ("60000")')
当前值60000
是硬编码的,但是我要与另一个表进行内部联接。
如何使用另一个表中的值?
UPDATE h
SET Salaries.modify('replace value of
(/Salaries/Marketing/Employee[@ID=("2")]/Salary/text())[1]
with ("60000")')
FROM HR_XML h
INNER JOIN table2 t2 ON h.id = t2.id
该值来自联接表列t2.NewSalary
。
您可以为此使用sql:column()
XQuery函数:
UPDATE h
SET Salaries.modify('replace value of
(/Salaries/Marketing/Employee[@ID=("2")]/Salary/text())[1]
with sql:column("NewSalary")')
FROM HR_XML h
INNER JOIN table2 t2 ON h.id = t2.id