我有一个SQL表名为CasingRules XML列,其中将包含诸如数据来创建子节点:使用XPath/XQuery的在SQL列
<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])')
看起来不错,但我努力形成的XQuery到一个更新语句,我可以与MSSQL-2005中使用。我开始认为MSSQL中的XQuery支持可能不会达到此目的。 – PaulG 2010-09-17 20:36:56
@PaulG:我很遗憾听到......我回答只是因为我看到了'xquery'标签。 – 2010-09-17 21:08:38