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.