批量更新SQL Server中的XML记录

时间:2012-06-14 13:18:54

标签: sql xml database sql-server-2008 tsql

我正在尝试更新在SQL Server 2008数据库中以XML格式存储的记录的加载量。

<products>
  <product>
    <name>Nike trainer 1</name>
    <description>Trainer 1</description>
    <price>10.99</price>
  </product>
  <product>
    <name>Nike trainer 2</name>
    <description>Trainer 2</description>
    <price>15.99</price>
  </product>
  <product>
    <name>Nike trainer 3</name>
    <description>Trainer 3</description>
    <price>16.99</price>
  </product>
</products>

我希望将我的所有价格批量更新1.50,因为大约有900种产品,这对于浏览每种产品都非常耗时,所以想知道是否有通过SQL语句快速完成此操作的方法吗?

1 个答案:

答案 0 :(得分:0)

是的,可以使用set XmlPart.modify(),如 -

设置@value ='val2'

设置@ xml.modify(将(/ root / item / @ value)[1]的值替换为“val2”')