2

我发现以下内容显示了如何在 SQL Server 中从 XML 中删除属性:如何从 sql server 2008 中的 XML 变量中删除属性?

但我想一次删除两个属性。我尝试了类似以下的方法:

UPDATE TABLE SET
  xmlField.modify('delete  (/clue_personal_auto/@attr1)[1]'),
  xmlField.modify('delete  (/clue_personal_auto/@attr2)[1]')
 WHERE compare = 357

但是我收到一个错误,即在更新期间不能多次修改同一列。有没有办法在一次语句中删除两者,或者我应该只运行两个单独的更新?

4

1 回答 1

3
UPDATE TABLE SET
  xmlField.modify('delete (/clue_personal_auto/@*[local-name()=("attr1", "attr2")])')
 WHERE compare = 357

SE-数据

于 2012-06-19T15:20:28.440 回答