多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > Sqlserver > Sql Server 數據庫中訪問 XML 文件

Sql Server 數據庫中訪問 XML 文件

來源:程序員人生   發布時間:2014-02-26 03:54:41 閱讀次數:2849次

  網(LieHuo.Net)教程 有時候在編寫存儲過程當中,比如一個插入或者修改之類的操作,要傳入大量的參數,而且還牽涉到多個主外表關系,現在有一種比較便利的方法可行,就是把要插入的數據以xml的形式,傳入到存儲過程中。

以下為引用的內容:
declare @xml varchar(8000)
declare @idoc int
declare @DeviceMode varchar(20)
declare @EquipAttribute varchar(20)
declare @Printerstyle varchar(20)
declare @Head varchar(20)
declare @Code varchar(20)
declare @Amount varchar(20)
declare @Softedition varchar(20)
declare @i int

--xml中是一個入庫表【CSM_B_DeviceRuKu 】和入庫明細表【CSM_B_DeviceRuKu_MX 】
set @xml='<?xml version=''1.0'' encoding=''GB2312''?>
<CSM_B_DeviceRuKu BillCode=''BA1059'' EquipAttribute=''0'' Remark=''哈哈'' EnterDate=''2009-10-13'' Person=''1'' Unit=''1'' IsValid=''0'' DeviceTotal=''類型:PCI WKT2開票卡,數量:100;類型:32K大容量IC卡,數量:100;''>
<CSM_B_DeviceRuKu_MX DeviceMode=''0'' EquipAttribute=''PCI WKT2開票卡'' Printerstyle='''' Softedition='''' Head='''' Code=''12313111111111'' Amount=''100'' />
<CSM_B_DeviceRuKu_MX DeviceMode=''1'' EquipAttribute=''32K大容量IC卡'' Printerstyle='''' Softedition='''' Head='''' Code=''43351212333333'' Amount=''100'' />
<CSM_B_DeviceRuKu_MX DeviceMode=''0'' EquipAttribute=''PCI WKT2開票卡'' Printerstyle='''' Softedition='''' Head='''' Code=''12313111111111'' Amount=''100'' />
<CSM_B_DeviceRuKu_MX DeviceMode=''1'' EquipAttribute=''32K大容量IC卡'' Printerstyle='''' Softedition='''' Head='''' Code=''43351212333333'' Amount=''100'' /> 

</CSM_B_DeviceRuKu>'

--通過存儲過程sp_xml_preparedocument來解析xml
EXEC sp_xml_preparedocument @idoc output, @xml

--讀取xml里面的數據【獲取CSM_B_DeviceRuKu的數據】
SELECT EquipAttribute,Person,EnterDate,BillCode,Remark,Unit,IsValid,DeviceTotal
FROM OpenXML(@idoc, '/CSM_B_DeviceRuKu')
WITH CSM_B_DeviceRuKu

-- 【獲取CSM_B_DeviceRuKu_MX的所有數據】
SELECT DeviceMode,EquipAttribute,Printerstyle,Softedition,Head,Code,Amount
FROM OpenXML(@idoc,'/CSM_B_DeviceRuKu/CSM_B_DeviceRuKu_MX')
WITH CSM_B_DeviceRuKu_MX
set @i=1


---游標(主要作用是循環讀取CSM_B_DeviceRuKu_MX中的數據)
declare item_cursor cursor for
SELECT DeviceMode,EquipAttribute,Printerstyle,Softedition,Head,Code,Amount FROM OpenXML(@idoc,'/CSM_B_DeviceRuKu/CSM_B_DeviceRuKu_MX') WITH CSM_B_DeviceRuKu_MX
open item_cursor
fetch next from item_cursor into @DeviceMode,@EquipAttribute,@Printerstyle,@Softedition,@Head,@Code,@Amount
while @@Fetch_Status=0
begin

---只是打印出效果,現在@DeviceMode,@EquipAttribute,@Printerstyle,@Softedition,@Head,@Code,@Amount 都以全部獲得了值,可以對數據庫表CSM_B_DeviceRuKu_MX表進行添加和修改
print('這是第'+cast(@i as varchar(20))+'次:::'+@DeviceMode+','+@EquipAttribute+','+@Printerstyle+','+@Softedition+','+@Head+','+@Code+','+@Amount )
set @i=@i+1
fetch next from item_cursor into @DeviceMode,@EquipAttribute,@Printerstyle,@Softedition,@Head,@Code,@Amount
end
close item_cursor
deallocate item_cursor

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 91精品国产高清91久久久久久 | 国产永久免费高清在线观看视频 | 手机看片精品国产福利盒子 | 精品毛片 | 亚洲综合激情另类专区 | 福利毛片| 一区二区不卡在线 | 九九在线精品视频xxx | 国产亚洲精品激情都市 | 亚洲区激情区图片小说区 | 久久午夜羞羞影院免费观看 | 欧美人欧美人与动人物性行为 | 欧美极品videosex性欧美 | jizzjizzjizz亚洲18| 66j8免费视频 | 欧美办公室大尺度做爰视频 | 最近中文字幕2019年免费 | 国亚洲欧美日韩精品 | 亚洲精品一区二区久久 | 亚洲欧美另类日韩 | 久久欧美精品欧美九久欧美 | 国产精品久久久久久久久久久威 | 成人a毛片久久免费播放 | 欧美三级大片在线观看 | 波多野一区二区三区在线 | 宅男午夜视频在线观看 | 国产免费人人看大香伊 | 日韩一级精品视频在线观看 | 亚洲国产精品人久久 | 欧美video粗暴变态 | 一级毛片在播放免费 | 亚洲欧美精品一中文字幕 | 亚洲一区二区三区四区五区六区 | 一区二区三 | 亚洲最新网站 | 亚洲国产成人资源在线软件 | 亚洲第一成年人网站 | 欧美a级黄色片 | 无毒不卡 | 日本高清专区一区二无线 | 日本高清不卡免费 |