permet de dire que nous avons une table "noms":XML Neat de T-SQL
ID Name Surname
1 Matt Smith
2 John Doe
Comment pourriez-vous écrire quelques SQLXML pour générer ceci:
<people>
<person>
<name>Matt</name>
<surname>Smith</surname>
<person>
<person>
<name>John</name>
<surname>Doe</surname>
<person>
</people>
Le meilleur que j'ai est ceci:
select r.value('Name[1]', 'nvarchar(10)'), r.value('Surname[1]', 'nvarchar(10)')
from Names
for xml path('people')
ce qui me donne:
<people>
<name>Matt</name>
<surname>Smith</surname>
</people>
<people>
<name>John</name>
<surname>Doe</surname>
</people>
En bref, comment emballer tout le lot?
Solution propre! fait ce long dos! J'ai retrouvé l'idée! THX ! – Baaju
Et si vous voulez des attributs dans les éléments, vous définissez simplement le nom de la colonne comme "@columnname". Notez que dans ce cas, vous devez d'abord définir la colonne d'attribut, ou vous obtenez une erreur. De plus, si vous utilisez des sous-requêtes qui produisent également du XML, vous devez inclure "type" comme ceci: "pour xml path ('elementname'), tapez" (ou tout le XML issu de la sous-requête sera échappé). Dans ce cas, vous pouvez omettre root et utiliser "elementroot" comme un alias, il va prendre en charge ce rôle. – Rob