以下SQL与XML的使用方法的相关内容你不一定能看懂,不过你可以将以下面的代码在查询分析器中来运行,你就了解了.......

SQL XML 2005

--声明XML类型的变量来存储XML
DECLARE @xVar XML
SET @xVar =(
--将一查询结果集转换成SQL XML格式
select id,num
    from (select 'a' as ID,1 num union select 'b' as ID,7 num union select 'c' as ID,4 num union select 'd' as ID,2 num) _a
   
    FOR XML raw
)
 
select @xVar
 
declare @detail table(id char(1),num int)
insert @detail(id,num)
select t.r.value('(@id)','char(1)'),t.r.value('(@num)','int')
from @xVar.nodes('/row') as t(r)
 
select * from @detail
 
现在我们可以看看2000的是如何处理xml
SQL XML 2000
declare @doc nvarchar(4000)
select @doc='
    <root>
        <row>
            <aa>DAKKK</aa><bb>F7AZSHGM</bb><cc>a</cc><dd>b</dd>
        </row>
        <row>
            <aa>DAKKK</aa><bb>QA67OHGM</bb><cc>v</cc><dd>d</dd>
        </row>
        <row>
            <aa>BA001</aa><bb>YLMA7HGP</bb><cc>w</cc><dd>t</dd>
        </row>
    </root>'
SELECT @doc
 
declare @idoc int
exec sp_xml_preparedocument@idoc out, @doc
select aa,bb,cc,dd
from openxml(@idoc,'/root/row',2) with(aa char(12),bb char(8),cc varchar(20),dd varchar(20))
exec sp_xml_removedocument@idoc

 

此文“SQL与XML的使用方法”来自于百洋软件研究实验室

posted on 2009-08-18 10:49  LanrenXuan  阅读(531)  评论(0编辑  收藏  举报