MS SQL 2000 : un petit hack très crade pour palier à l'absence d'élément racine dans les FOR XML AUTO
Par Alain Saint-Etienne, lundi 31 juillet 2006 à 22:19 :: General :: #29 :: rss ::
Je ne suis sûrement pas le seul à avoir eu le problème, et ceci n'est sûrement pas la meilleure solution, mais bon...
Pour récupérer un "root element" au résultat de notre SELECT gnagnagna FORM MYTABLE FOR XML AUTO
voici ce qu'on peut faire:
SELECT root.fakepk, t.* FROM
( SELECT
1 as fakefk,
gnagnagna
FROM MYTABLE ) as t
JOIN
( SELECT
1 as fakepk ) as root
ON root.fakepk=t.fakefk
FOR XML AUTO
- Oui, je vous avais prévenu, c'est dégueulasse. Sinon, ça serait pas un hack mais "une solution très élégante".
Elle serait peut-être même dans le MSDN O:-) - Oui, c'est un peu galère si notre SELECT de début est déjà un peu complexe.
Et c'est peut-être pas tip top en performances (je suis pas DBA, je sais pas...) - Oui, je sais, avec SQL services for IIS (ou l'inverse) on peut spécifier un élément racine.
Mais c'est un peu "bombe atomique pour tuer une mouche", non ?
Commentaires
1. Le mercredi 2 août 2006 à 21:03, par Marie
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.