好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 用XML和SQL 2000來管理存儲過程調用

用XML和SQL 2000來管理存儲過程調用

熱門標簽:r語言數據可視化地圖標注 東營電銷 南寧網絡外呼系統運營商 本地電話機器人 隨州外呼調研系統 高德地圖地圖標注服務中心 400電話辦理包年 如何修改多個百度地圖標注 微信地圖標注合并了

創建多個帶有不同參數的存儲過程(stored procedure)來完成同一個任務總是一個很大的負擔。利用XML字符串向你的存儲過程發送參數就能夠簡化這個任務;這也讓COM組件的設計更簡單。 

實現這個目的的方法是將你的參數作為一個XML字符串來傳遞,并剖析XML來取回你所需要的數據,然后繼續實現你所需要集成的功能。你不僅可以通過XML來獲取一些參數,你還可以對XML所創建的DOM文檔運行查詢,以此來封裝多個存儲過程。我會提供一些例子,告訴你如果實現這個目的,并簡要地描述每個例子。

在本例里,為了更新一個Customer表格里的姓名字段,我會傳遞幾個參數。為了獲得customerid(身份列)和新的姓名字段,XML會被剖析。我傳遞給過程的XML字串就像下面的這樣:

root>Customer>customerid>3/customerid>name>Acme
 Inc./name>/Customer>/root>

要被創建的存儲字段就像下面的這樣:


CREATE PROCEDURE update_Customer (@xmldatavarchar(8000)) AS
DECLARE @customeridint
DECLARE @customernamevarchar(50)
DECLARE @xmldata_idint

EXEC sp_xml_preparedocument @xmldata_id OUTPUT, @xmldata, ''

SELECT @customerid = customerid, @customername = [name] FROM
 OPENXML(@xmldata_id, '//Customer', 2) WITH (customeridint, [name]
 varchar(50))

EXEC sp_xml_removedocument @xmldata_id

UPDATE Customer SET Customer.[name] = ISNULL(@customername, Customer.[name])
WHERE Customer.tblID = @customerid

 

這個過程首先就聲明我們將要用到的變量會保存相關信息。在此之后,DOM文檔被打開,一個“句柄(handle)”會被返回到sp_xml_preparedocument調用的第一參數里。

這個調用的第二個參數是用于新DOM文檔的XML源文件。這個“句柄”是在進行OPENXML調用的時候用來從DOM里查詢信息的。OPENXML調用的第二個參數是父節點的一個Xpath映射,這些父節點包含有要被執行的數據。
 


第三個參數(2)指明,以元素為中心的映射會被使用。WITH子句為被剖析的數據提供了數據列集(rowset)格式,sp_xml_removedocument調用會刪掉DOM文檔的源文件。

在下面這個例子里,我會傳遞一系列用戶ID,用以刪除多個數據列。下面就是XML字符串的內容:


root>Customer>customerid>1/customerid>/Customer>Customer>customerid>
2/customerid>/Customer>Customer>customerid>3/customerid>/Customer>
/root>

 

相應的存儲過程看起來就像下面這樣:
. . .

EXEC sp_xml_preparedocument @xml_id OUTPUT, @xmldata, ''

DELETE FROM Customer WHERE Customer.tblID IN (SELECT customerid FROM
 OPENXML(@xmldata_id, '//Customer', 2) WITH (customeridint))

. . .


有了這個存儲過程就不再需要創建一個冗長的SQL查詢字符串,用以在ADO里傳遞或者多次調用一個存儲過程了。這也會消除多次調用對網絡流量所造成的影響。

正如你能夠看到的,微軟的SQL 2000讓整個過程稍稍簡單了一點。要記住,這一方法的不足之處在于:在SQL 2000進行XML任務的時候,將XML作為一個參數發送會被限制到8,000字符。和以往一樣,不要忽視了精心策劃的好處。

訪問MSDN庫能夠獲得更多關于OPENXML、sp_xml_preparedocument以及sp_xml_removedocument的信息。


 

標簽:拉薩 宿遷 德州 果洛 西雙版納 益陽 寧夏 黃石

巨人網絡通訊聲明:本文標題《用XML和SQL 2000來管理存儲過程調用》,本文關鍵詞  用,XML,和,SQL,2000,來,管理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用XML和SQL 2000來管理存儲過程調用》相關的同類信息!
  • 本頁收集關于用XML和SQL 2000來管理存儲過程調用的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产情品国产三级国产AV剧情| 黄色一级免费大片| 国产亚洲精品久久久优势| 《色戒》未删减版电影在线| 日系女生裸体视频浴室洗澡| 麻麻的丝袜脚夹得我好爽| 翁和媳小莹浴室欢爱52章| 免费乱看欧美大片毛片| 国产人与乣女BBWBABES| 男人的j伸到女人的屁股眼| 开心丁五香月婷kkk48| 美女扒开排尿口| 意大利A级情欲1片| 国产成人精品???水| 好男人好资源在线观看视频| 无码h片在线观看网站无禁| 精品寡妇一区二区三区| 星空传媒下载免费观看| 啊啊啊啊啊快点| 免费观看理伦片在线播放视频软件| 亚洲小说春色综合另类电影| 久青草视频在线观看| 亚洲成AV人片在线观看影院| 丝袜脚交一区二区三区视频在线观看| 国产黄色片免费看| 疯狂肉伦又粗又硬孕| 一级做a爰片毛片A片的价格 | 国产一级又黄又爽又色大片QQ号| 伊人国内精品中文字幕A片A片| 精品中文字幕乱码一区二区| 国产一区系列在线观看| 69久久精品无码一区二区按摩| 91人妻欧美精品综合久久| 一个人在线观看www免费视频动漫| 唐唐三喝宁荣荣乳汁的乳| 日本娇小XXXXHD猛烈交尾| 他一动含的更深了| 皮带抽打桃子翘臀受虐sp| 筱崎爱一级毛片| 一级生性活片免费视频片卢| 10000个有效的实名认证身份证号|