2011-01-20 3 views
0
SELECT * FROM emp FOR XML AUTO , ROOT ('Employees') , ELEMENTS 

Cette requête renvoie la valeur au format xml mais le nombre total de xml est affiché dans une colonne et le nom de la colonne est affiché dynamiquement. si je veux que je vais spécifier le nom de la colonne comme les données etc. si la valeur xml affichera comme seule ligne & colonne mais l'en-tête ou le nom de colonne de sortie sera "DATA"FOR XML AUTO et SQL Server 2005

est-il possible si oui, s'il vous plaît montrez-moi le chemin .thanks

Répondre

1

Vous devez vérifier la nouvelle fonctionnalité FOR XML PATH dans SQL Server 2005 et plus - lire tout à ce sujet dans SQL Server Books Online. Fondamentalement, avec FOR XML PATH, vous pouvez définir la forme de votre fichier XML très facilement, par exemple en utilisant le FOR XML PATH.

SELECT 
    EmployeeID AS '@EmployeeID', 
    FirstName, 
    LastName 
FROM dbo.Employees 
FOR XML PATH('Employee'), ROOT('AllEmployees') 

va générer XML quelque chose comme:

<AllEmployees> 
    <Employee EmployeeID="12345"> 
     <FirstName>John</FirstName> 
     <LastName>Doe</LastName> 
    </Employee> 
</AllEmployees> 

FOR XML PATH est très flexible et vous permet de faire beaucoup de choses assez facilement et intuitivement.

+0

vérifier quand vous exécutez le sql avec pour le chemin xml dans le studio de gestion sql il renvoie encore dynamiquement le nom de la colonne. Il ne fonctionne pas boss. – Thomas

+0

@Thomas: Je ne comprends pas ce que vous voulez dire par "nom de colonne montre dynamiquement" ..... ????? –