2016-04-25 3 views
1

i AusgangXML hinzufügen Attribut in MSSQL Stored Procedure mit

<CustomerName> 
<Customer id='1'> 
<Name>xyz</Name> 
</Customer> 
<Customer id='2'> 
<Name>Abc</Name> 
</Customer> 
</CustomerName> 

für diesen Ausgang möchte ich SP schrieb

SELECT 
      '' AS [CustomerName],  
      (SELECT 
      Name[Customer/Name] 
FOR XML PATH(''), TYPE) AS[CustomerName/Customer] 
      FOR XML PATH('') 

nicht in der Lage Id Attribut hinzufügen, helfen Sie mir bitte

+0

Es ist wie ein Teil Ihrer SP sieht fehlt - können Sie das Ganze zeigen? Wie sehen Ihre Daten aus? – CompanyDroneFromSector7G

+0

@bukko SP ist complete..my Daten aussehen xyz Abc Karan

+0

SP beginnen mit CREATE PROCEDURE. Ich meine auch Ihre Eingabedaten, d. H. Tabellen, nicht Ihre Ausgabe XML. – CompanyDroneFromSector7G

Antwort

1

Try this :

DECLARE @tblCust TABLE(id INT, CustomerName VARCHAR(100)); 
INSERT INTO @tblCust VALUES 
(1,'xyz') 
,(2,'Abc'); 

SELECT id AS [@id] 
     ,CustomerName AS [Name] 
FROM @tblCust 
FOR XML PATH('Customer'),ROOT('CustomerName') 

Dies das Ergebnis ist

<CustomerName> 
    <Customer id="1"> 
    <Name>xyz</Name> 
    </Customer> 
    <Customer id="2"> 
    <Name>Abc</Name> 
    </Customer> 
</CustomerName> 
+0

seine Arbeits .... dank – Karan

1
SELECT [@id] = t.id, [Name] = t.name 
FROM (
    VALUES (1, 'name'), (2, 'name2') 
) t (id, name) 
FOR XML PATH('Customer'), ROOT('CustomerName') 
+0

Ha, gotcha! Das nächste Mal wirst du wieder gewinnen :-) – Shnugo

+0

Ich werde es versuchen :))) – Devart