载入中,请稍候……

使用临时表与游标处理XML文档

Admin 于 2008-10-31 15:02:56 发表其它

  1. declare @idoc int -- 声明xml文档指针 
  2. declare @doc varchar(1000) --xml文档文本 
  3. declare @table table(cell1 varchar(20),cell2 varchar(20)) --临时表 
  4.  
  5. set @doc = ' 
  6. <root> 
  7. <row><cell1>adf</cell1><cell2>234</cell2></row> 
  8. <row><cell1>adf</cell1><cell2>234</cell2></row> 
  9. </root> 
  10. --打开xml文档 
  11. EXEC sp_xml_preparedocument @idoc OUTPUT, @doc 
  12.  
  13. --选择xml内容并插入临时表 
  14. insert  @table 
  15. select * FROM       OPENXML (@idoc, '/root/row',2 ) 
  16.       WITH (cell1  varchar(20), cell2 varchar(20)) 
  17.  
  18. EXEC sp_xml_removedocument @idoc --关闭xml文档指针 
  19.  
  20. declare @cell1 varchar(20),@cell2 varchar(20) 
  21.  
  22. --声明游标 
  23. declare tcursor cursor for select * from @table 
  24. --打开游标 
  25. open tcursor 
  26.  
  27. --开始事务 
  28. BEGIN TRANSACTION modifyData    WITH MARK N'some remarks'
  29.  
  30. fetch next from tcursor into @cell1,@cell2 
  31. while @@FETCH_STATUS = 0 begin 
  32.     print @cell1 + @cell2 
  33.     fetch next from tcursor into @cell1,@cell2 
  34. end 
  35.  
  36. --提交事务 
  37. COMMIT TRANSACTION modifyData; 
  38.  
  39. --关闭游标 
  40. close tcursor 
  41. deallocate tcursor 
被阅747次, 0票临时表 游标 XML 发表评论
1 / 1 / 1 | « 1 » |

Powered by MiniBoke v2.0.0.8 Build 0828

Copyright © 2008 迷你博客. All rights reserved.

粤ICP备07500939号