0

我有一个临时表,其中包含我想作为元素注入到 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>

对于所有新插入的字段,元素的名称将相同。

4

1 回答 1

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

SQL小提琴

于 2015-12-11T02:38:33.483 回答