亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

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

2024-09-05 20:53:27
字體:
來源:轉載
供稿:網友

創建多個帶有不同參數的存儲過程(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的信息。


 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品视频免费观看| 精品国产欧美一区二区三区成人| 欧美日韩精品在线视频| 日本aⅴ大伊香蕉精品视频| 国语自产在线不卡| 久久在精品线影院精品国产| 亚洲视频自拍偷拍| 国内精品模特av私拍在线观看| 中文字幕亚洲欧美| 国产综合香蕉五月婷在线| 欧洲成人在线视频| 国产精品爽爽爽爽爽爽在线观看| 亚洲伊人久久综合| 亚洲网在线观看| 精品久久久视频| 欧美大片网站在线观看| 成人黄色av网站| 日韩精品在线观| 欧美成人一区二区三区电影| 国产日韩亚洲欧美| 日韩欧美高清在线视频| 精品视频久久久久久久| 91精品在线一区| 亚洲二区在线播放视频| 欧美第一淫aaasss性| 欧美精品videos另类日本| 欧美精品情趣视频| 日韩高清欧美高清| 懂色aⅴ精品一区二区三区蜜月| 国产日韩精品视频| 韩国国内大量揄拍精品视频| 日韩福利伦理影院免费| 日韩成人久久久| 欧美日韩美女在线观看| 精品国产31久久久久久| 亚洲a级在线播放观看| 亚洲自拍偷拍第一页| 日韩欧美国产免费播放| 2019亚洲男人天堂| 综合136福利视频在线| 欧美在线视频导航| 亚洲女人天堂网| 国产成人精品在线播放| 亚洲一区二区三区视频| 激情懂色av一区av二区av| 精品日韩美女的视频高清| 亚洲成人网av| 性亚洲最疯狂xxxx高清| 成人有码在线视频| 中文字幕日韩欧美在线视频| 国产成人综合久久| 亚洲第一区中文字幕| 日韩国产中文字幕| 中文国产亚洲喷潮| 久久资源免费视频| 国产剧情日韩欧美| 日韩中文字幕av| 久久久女人电视剧免费播放下载| xvideos亚洲| 午夜精品理论片| 亚洲欧美国产精品va在线观看| 亚洲精品欧美日韩专区| 久久国产精品影视| 亚洲色图欧美制服丝袜另类第一页| 亚洲欧美在线一区| 日韩av高清不卡| 国产精品久久9| 久久久在线免费观看| 97在线观看免费高清| 亚洲欧美福利视频| 亚州av一区二区| 亚洲天堂av女优| 少妇高潮 亚洲精品| 91精品国产综合久久久久久久久| 国产精品丝袜白浆摸在线| 亚洲欧美国产va在线影院| 欧美精品成人91久久久久久久| 中文字幕日韩av综合精品| 国产精品高清免费在线观看| 黑人巨大精品欧美一区二区免费| 日韩精品在线免费观看视频| 欧美日韩视频免费播放| 欧美精品video| 国产91在线高潮白浆在线观看| 激情成人在线视频| 欧美激情va永久在线播放| 精品福利视频导航| 亚洲欧美成人网| 国产精品视频内| 午夜精品一区二区三区av| 九九久久久久99精品| 91精品国产免费久久久久久| 亚洲国产精品成人av| 日本老师69xxx| 日韩成人av网址| 国产精品专区h在线观看| 国产精品精品视频一区二区三区| 91丝袜美腿美女视频网站| 日韩三级影视基地| 日韩免费观看高清| 91久久精品日日躁夜夜躁国产| 韩国精品美女www爽爽爽视频| 91啪国产在线| 精品免费在线视频| 日韩中文在线中文网三级| 狠狠色香婷婷久久亚洲精品| 热门国产精品亚洲第一区在线| 91久久精品国产91久久性色| 午夜精品久久久久久久99热浪潮| 有码中文亚洲精品| 最近2019中文字幕第三页视频| 91精品久久久久久久久久另类| 亚洲最新av网址| 神马国产精品影院av| 久久韩剧网电视剧| 成人福利网站在线观看| 欧美日韩国产一区二区三区| 美日韩在线视频| 国产精品中文字幕在线| 国产美女主播一区| 亚洲精品成人久久电影| 亚洲аv电影天堂网| 国产日本欧美一区二区三区在线| 91免费福利视频| 成人深夜直播免费观看| 国产美女久久精品| 久久精品国产亚洲7777| 欧美成人黄色小视频| 国产欧美日韩免费看aⅴ视频| 久久亚洲影音av资源网| 国产一区二区三区在线免费观看| 成人国产在线激情| 色婷婷av一区二区三区久久| 亚洲丝袜av一区| 亚洲人a成www在线影院| 精品国产91久久久久久老师| 亚洲天堂视频在线观看| 久久99青青精品免费观看| 中文字幕亚洲二区| 91在线精品播放| 亚洲日本中文字幕| y97精品国产97久久久久久| 国产丝袜精品视频| 欧美一级片一区| 欧美夫妻性生活视频| 日韩国产欧美精品一区二区三区| 性欧美激情精品| 欧美另类交人妖| 国内偷自视频区视频综合| 国产一区二区欧美日韩| 亚洲精品免费av| 精品中文字幕在线观看| 精品国产一区二区三区久久狼黑人| 91久久国产婷婷一区二区| 亚洲精品资源美女情侣酒店| 日本高清不卡在线| 亚洲欧洲一区二区三区久久| 欧美性猛交xxxx久久久| 亚洲免费人成在线视频观看| 久久久久久久爱| 亚洲国产天堂久久综合网| 伊是香蕉大人久久| 国产91在线播放精品91| 亚洲精品福利视频|