2012-11-26 36 views
5

Bir XML nesnem var. Ve T-SQL kullanarak bir masaya serpmek istiyorum.
XML nesnesini T-SQL'de deserialize edin

<Params> 
    <type = 1> 
     <value> 10 </value> 
    </type> 

    <type = 2> 
     <value> abc </value> 
    </type> 
</Params> 

nasıl böyle bir tabloya bu verileri saklayabilirsiniz:
enter image description here

Teşekkür!

+2

Yapamazsınız. XML’iniz geçerli değil. – GSerg

+0

xml türünüzde bir sorun var = 1 geçerli değil xml etiketi –

cevap

11

XML'niz geçerli değil - ama böyle bir şey olsaydı:

DECLARE @XML XML = '<Params> 
    <type ID="1"> 
     <value> 10 </value> 
    </type> 
    <type ID="2"> 
     <value> abc </value> 
    </type> 
</Params>' 

SELECT 
    Type = TypeNode.value('@ID', 'int'), 
    NodeValue = TypeNode.value('(value)[1]', 'varchar(50)') 
FROM 
    @XML.nodes('/Params/type') AS XTbl(TypeNode) 

:

<Params> 
    <type ID="1"> 
     <value> 10 </value> 
    </type> 
    <type ID="2"> 
     <value> abc </value> 
    </type> 
</Params> 

o zaman aradığınızı almak için bu XQuery/SQL deyimi kullanabilirsiniz id sütununun nasıl olması gerektiği açık değil - açıklamak ister misiniz?

+0

Bu bir 'row_number()', varsayalım. – GSerg

+0

Teşekkürler, ihtiyacım olan şey bu! – nykolas

İlgili konular