利用XML转换为table实现在SQL参数中传递表结构

SQL 2005中,通常会用到在SQL参数中传递表结构,最简单的办法是利用XML转换为table

ExpandedBlockStart.gif代码
DECLARE    @h INT,
    
@XML VARCHAR(8000),
    
@2k5 XML

SELECT    @XML =    '
            <jrt>
                <item>
                    <id>11</id>
                    <name>CS Tester</name>
                    <company>EEE</company>
                    <phone>555-555-1234</phone>
                </item>
                <item>
                    <id>22</id>
                    <name>CS Tester</name>
                    <company>EEE</company>
                    <phone>555-555-1234</phone>
                </item>
            </jrt>
        
',
    
@2k5 = @XML


SELECT    T.c.query('id').value('.[1]''varchar(100)'as id,
        T.c.query(
'name').value('.[1]''varchar(50)') as name,
        T.c.query(
'company').value('.[1]''varchar(50)') as company,
        T.c.query(
'phone').value('.[1]''nvarchar(50)'as phone
FROM    @2k5.nodes('/jrt/item'AS T(c)



 结果是:

id         name       company    phone
---------- ---------- ---------- ----------
11         CS Tester  EEE        555-555-12
22         CS Tester  EEE        555-555-12

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值