2016-04-25 135 views
1

添加XML屬性在MSSQL我想輸出使用存儲過程

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

該輸出我寫SP

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

無法添加id屬性,請幫我

+0

它看起來像你的SP缺少的一部分 - 可以顯示整個事情?另外,你的數據是什麼樣的? – CompanyDroneFromSector7G

+0

@bukko SP是complete..my數據看起來像<客戶> XYZ 美國廣播公司 Karan

+0

SP與'CREATE PROCEDURE'開始。另外,我的意思是你的輸入數據,即表格,而不是你的輸出XML。 – CompanyDroneFromSector7G

回答

1

試試這個:

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') 

This是結果

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

它的工作....謝謝 – 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

哈哈!下一次你會再次贏得:-) – Shnugo

+0

我會嘗試:))) – Devart