我有一个临时表,其中包含我想要作为元素注入SQL Server列的值。我可以使用modify和insert语句为一个条目执行此操作。但是如何在表格中的多行中执行此操作?
一些示例数据如下所示:
SerializedTable
:
ID SerializedXML
-----------------------------------------
7 <Form> <Field1>111</Field1> </Form>
8 <Form> <Field1>112</Field1> </Form>
#TempTable
:
ID FK_ID Value
--------------------
1 7 120
2 8 124
所以我需要使用值列中的值向SerializedXML
添加一个新元素。
所以决赛桌看起来像是:
SerializedTable
:
ID SerializedXML
---------------------------------------------------------------
7 <Form> <Field1>111</Field1> <Field2>120</Field2> </Form>
8 <Form> <Field1>112</Field1> <Field2>124</Field2> </Form>
对于所有新插入的字段,元素的名称都是相同的。
答案 0 :(得分:1)
试试这个
update s
set SerializedXML.modify('
insert <Field2>{ sql:column("t.Value") }</Field2>
after (/Form/Field1)[1]
')
from SerializedTable s
join TempTable t on s.ID = t.FK_ID