载入中,请稍候……

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

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

订阅: http://www.miniboke.com/Feed/Article_84.aspx
引用: http://www.miniboke.com/Trackback/CPvYXxGWHZeqdtzdDZyn.aspx (UTF-8)
pre中自动换行 < 使用临时表与游标处理XML文档 > 远程进程DLL注入

  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 
被阅576次, 0投一票临时表 游标 XML
  • 看完了要说点啥么?
  • 昵称 (不填说不了话)
  • 信箱地址 (不会被公开,但是不填也说不了话)
  • 网址 (这个不填也成)

Powered by MiniBoke v2.0.0.8 Build 0828

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

粤ICP备07500939号