Löschen mehrerer Knoten in einer einzelnen XQuery für SQL Server

Ich habe:

ein Tisch mit einemxml Typenspalte (Liste der IDs)einxml Typparameter (auch Liste der IDs)

Was ist die beste Methode, um Knoten aus der Spalte zu entfernen, die mit den Knoten im Parameter übereinstimmen, während nicht zugeordnete Knoten unberührt bleiben?

z.B.

<code>declare @table table (
    [column] xml
)

insert @table ([column]) values ('<r><i>1</i><i>2</i><i>3</i></r>')

declare @parameter xml
set @parameter = '<r><i>1</i><i>2</i></r>'

-- this is the problem
update @table set [column].modify('delete (//i *where text() matches @parameter*)')
</code>

Aus der MSDN - Dokumentation geht hervor, dass dies möglich sein sollte (inEinführung in XQuery in SQL Server 2005):

Diese gespeicherte Prozedur kann einfach geändert werden, um ein XML-Fragment zu akzeptieren, das ein oder mehrere Skill-Elemente enthält, wodurch der Benutzer mehrere Skill-Knoten mit einem einzigen Aufruf der gespeicherten Prozedur löschen kann.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage