У меня есть таблица sql со столбцом xml с именем CasingRules, который будет содержать такие данные, как:
<root>
<Item>
<RegularExpression>^Mc[A-Z,a-z]*</RegularExpression>
<Format>ULU</Format>
</Item>
<Item>
<RegularExpression>^Mac[A-Z,a-z]*</RegularExpression>
<Format>ULLU</Format>
</Item>
</root>
Я пытаюсь использовать метод изменения MS SQL для добавления нового узла ApplyTo вкаждый элемент, чтобы создать что-то вроде:
<root>
<Item>
<RegularExpression>^Mc[A-Z,a-z]*</RegularExpression>
<Format>ULU</Format>
<ApplyTo>NameAndAddress</ApplyTo>
</Item>
<Item>
<RegularExpression>^Mac[A-Z,a-z]*</RegularExpression>
<Format>ULLU</Format>
<ApplyTo>NameAndAddress</ApplyTo>
</Item>
</root>
.. но я очень новичок в XPath, и даже не уверен, возможно ли обновить несколько узлов в одном запросе?Есть ли элегантный способ добиться этого?
Я ожидаю, что синтаксис примерно такой, но он не работает:
UPDATE TableName
SET CasingRules.modify('insert <ApplyTo>NameAndAddress</ApplyTo> as last into (/root//Item[1])')