Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Insérer plusieurs nœuds dans le champ XML dans une seule requête

La documentation SQL Server dit assez clairement que le insert L'instruction peut gérer plusieurs nœuds. Donc, je suppose que votre problème est juste une erreur de syntaxe. (La syntaxe Microsoft diffère légèrement de celle définie dans le Spécification de la fonction de mise à jour XQuery , mais il est visiblement similaire.)

J'essaierais de faire des éléments f1 et f2 une séquence et de les mettre entre parenthèses (la spécification nécessite ici un ExprSingle, ce qui signifie qu'aucune virgule de niveau supérieur n'est autorisée) :

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

(Non testé sur SQL Server.)