Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Fügen Sie in einer einzigen Abfrage mehrere Knoten in das XML-Feld ein

Die SQL Server-Dokumentation sagt ziemlich deutlich, dass insert -Anweisung kann mehrere Knoten verarbeiten. Ich vermute also, dass Ihr Problem nur ein Syntaxfehler ist. (Die Microsoft-Syntax weicht geringfügig von der im XQuery Update Facility spec , aber es ist erkennbar ähnlich.)

Ich würde versuchen, die Elemente f1 und f2 zu einer Sequenz zu machen und sie in Klammern zu setzen (die Spezifikation erfordert hier ein ExprSingle, was bedeutet, dass keine Kommas auf oberster Ebene zulässig sind):

update t 
set XmlField.modify(
  'insert (<f1>value here</f1>, <f2>value there</f2>) into (/xmldoc)') 

(Nicht gegen SQL Server getestet.)