In SQL Server kann ich mehrere einfügen von Knoten in XML-Code aus einer Tabelle?

Möchte ich erzeugen XML-Code in eine gespeicherte Prozedur, basierend auf Daten in einer Tabelle.

Die folgende insert-erlaubt mir zu viele Knoten, aber Sie haben hart codiert, oder verwenden Sie Variablen (sql:variable):

SET @MyXml.modify('
      insert
         <myNode>
            {sql:variable("@MyVariable")}
         </myNode>
      into (/root[1]) ') 

So, ich könnte in einer Schleife durch jeden Datensatz in meiner Tabelle, die Werte die ich brauche in den Variablen, und führen Sie die obige Aussage.

Aber gibt es eine Möglichkeit, ich kann diese nur durch die Kombination mit einer select-Anweisung und die Vermeidung der Schleife?

Bearbeiten die ich verwendet habe SELECT FOR XML ähnliche Sachen vor, aber ich finde es immer schwer zu Lesen, beim arbeiten mit einer Hierarchie von Daten aus mehreren Tabellen. Ich hatte gehofft, es wäre etwas mit den modify wo die generierte XML-Datei ist expliziter und besser kontrollierbar.

InformationsquelleAutor tpower | 2008-09-29

Schreibe einen Kommentar