SQL如何循环节点 读取 xml

ccp5780199 2007-07-14 09:40:47
一个XML文件
<Buy BuyTime="2007-2-18">
<BuyDetail BuyDetailID=1 BuyDetailName="物品1" />
<BuyDetail BuyDetailID=2 BuyDetailName="物品1" />
</Buy>

请问如何实现一条一条子节点遍历 Buy/BuyDetail的属性
然后逐行更新 BuyDetail表中 BuyDetailID等于XML相对应的BuyDetailID属性的记录呢?
...全文
309 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wh110 2008-07-15
  • 打赏
  • 举报
回复
学习一下,帮顶
zhenmeiyisi 2007-07-15
  • 打赏
  • 举报
回复
declare @a int
declare @doc1 nvarchar(1000)
set @doc1=''
set @doc1='
<Buy BuyTime="2007-2-18">
<BuyDetail BuyDetailID="1" BuyDetailName="物品1" />
<BuyDetail BuyDetailID="2" BuyDetailName="物品1" />
</Buy>
'

exec sp_xml_preparedocument @a OUTPUT, @doc1

SELECT * into #a
FROM OPENXML (@a, 'Buy/BuyDetail',1)
WITH (BuyDetailID varchar(10),
BuyDetailName varchar(20))

-- create table BuyDetail( BuyDetailID int,BuyDetailName varchar(100))
-- insert into BuyDetail select 1,'222'
-- union all select 2,'ccc'

update BuyDetail set BuyDetailName=a.BuyDetailName from #a as a,BuyDetail as b
where a.BuyDetailID=b.BuyDetailID

drop table #a

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧