2

SQL Server で XML から属性を削除する方法を示す以下を見つけました: SQL Server 2008 で XML 変数から属性を削除する方法は?

しかし、一度に 2 つの属性を削除したいと思います。私は次のようなものを試しました:

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

しかし、更新中に同じ列を複数回変更できないというエラーが表示されます。一度のステートメント内で両方を削除する方法はありますか、それとも 2 つの別々の更新を実行する必要がありますか?

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 に答える