Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Inserisci più nodi nel campo XML in un'unica query

La documentazione di SQL Server dice abbastanza chiaramente che insert l'istruzione può gestire più nodi. Quindi la mia ipotesi è che il tuo problema sia solo un errore di sintassi. (La sintassi Microsoft varia leggermente da quella definita in Specifiche della struttura di aggiornamento XQuery , ma è riconoscibilmente simile.)

Proverei a trasformare gli elementi f1 e f2 in una sequenza e racchiuderli tra parentesi (la specifica richiede un ExprSingle qui, il che significa che non sono consentite virgole di primo livello):

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

(Non testato contro SQL Server.)