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

首頁 > 開發 > XML > 正文

用OPENXML函數將XML數據轉為關聯數據

2024-07-21 02:31:57
字體:
來源:轉載
供稿:網友

SQL Server 2005中進一步延續了對xml的支持。本文將向我們展示如何用SQL Server提供的OPENXML函數將XML類型數據轉換為其它格式的關聯數據。

從SQL Server 2000開始,微軟開始支持XML類型的數據。在SQL Server2005中,微軟延續了這一特性,并加強了對XML 數據列、XML變量以及XML索引的支持。

在數據庫中存儲XML數據是一個很出色的特征。對于大部分的數據處理需求來講,將XML數據格式化為其它關聯數據是十分重要。這也是引入OPENXML函數的原因。OPENXML是一個SQL Server提供的函數,它的作用是接收XML數據,提供內存中 XML數據的行集視圖。

一個OPENXML函數用例

在下面的例子中,我們將演示如何使用OPENXML函數。假定我們現在正在從事一個網上購物系統開發。在這個場景中,顧客選擇登錄網站方式購買多種產品。因為根據公司的商業模式,通過網站購物能夠節省成本。我們假定大部分的顧客都購買了七件或者更多的商品。我們的目標是當客戶頻繁的訪問網站的時候,要盡量減少數據庫的調用。我們的想法是將網頁上提交的采購需求存儲為XML文檔,并且將其中的XML數據以字符串的形式傳送給數據庫底層的程序處理。這樣,我們就可以在一次數據庫調用中將XML數據中的訂單信息插入數據庫中。

我們該如何解決上面的問題呢?首先我們看看將要編輯的網頁數據。一個簡單的XML文檔含有來自網站的很多核心信息,包括:產品名稱、價格、日期以及顧客資料。列表A包含了一個簡單的XML數據流。

然后,我們需要設計一個網頁接口提供存儲程序的調用。通過調用這一存儲程序,將XML數據流存儲至數據庫。列表B是這一存儲程序的實現內容。

這一存儲程序支持XML數據類型(SQL Server 2005中新特色)作為輸入參數(我們也可以使用變量字符數據類型作為我們的輸入參數,例如VARCHAR (max)或者定義VARCHAR數據類型)。

接下來,我們調用系統程序sp_xml_PReparedocument,它不僅創建了XML文檔在內存中的表示,也允許XML文檔作為調用參數。一旦我們擁有了指向內存中XML文檔的句柄,就可以調用OPENXML函數。在函數調用中使用不同的參數,還可以對XML數據的返回結果集進行詳細的控制。

我們提供指向XML文檔的句柄,并且通過XPATH查詢返回想要的XML數據中的節點。OPENXML函數中的WITH子句允許指定返回數據的行集格式。一旦將數據插入到websales 表格中,就可以調用系統程序sp_xml_removedocument刪除SQL Server 服務器內存中的XML數據。

這個簡單的例子演示了通過OPENXML函數來減少數據庫調用次數的強大功能。OPENXML函數提供很大的靈活性,你既可以將所有的XML數據插入到SQL Server 數據表中,也可以拆分XML文件,將其插入到不同的SQL Server數據表中。通過這一技術,我們就可以在一次程序調用中插入8條記錄,而不是像傳統的技術那樣,要通過8次操作實現。

OPENXML的局限性

調用OPENXML函數時要注意內存的使用情況。系統程序sp_xml_preparedocument 的返回值是指向內存中XML文檔的句柄。所以,你最好不要使用OPENXML加載較大的XML文檔,因為那樣可能會造成服務器的內存溢出。

在以后的文章中,我將會向你介紹如何使用SQL Server 2005提供的關于XML的一些新屬性,這些新屬性不僅能夠實現OPENXML函數的功能,而且不需要考慮OPENXML調用時產生的內存操作問題。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精品视频一区| 91天堂在线观看| 97国产真实伦对白精彩视频8| 中文字幕亚洲欧美日韩2019| 91欧美激情另类亚洲| 成人中文字幕在线观看| 亚洲人在线视频| 亚洲免费av电影| 国产亚洲精品一区二555| 26uuu另类亚洲欧美日本一| 最近中文字幕日韩精品| 38少妇精品导航| 欧美专区国产专区| 欧美性猛交xxxx乱大交3| 亚洲欧洲午夜一线一品| 国产在线观看精品一区二区三区| 精品久久久久久中文字幕一区奶水| 91精品国产综合久久香蕉最新版| 国产日产久久高清欧美一区| 亚洲成人黄色网址| 日本一区二区三区四区视频| 亚洲第一区在线观看| 精品无人区乱码1区2区3区在线| 亚洲图片欧洲图片av| 91黑丝高跟在线| 青青a在线精品免费观看| 亚洲天堂av女优| 国产视频久久久久久久| 国产精品久久久久久久美男| 97超级碰碰人国产在线观看| 欧美激情videoshd| 亚洲一区美女视频在线观看免费| 91久久久在线| 精品福利免费观看| 亚洲天堂网在线观看| 26uuu另类亚洲欧美日本老年| 色综合亚洲精品激情狠狠| 欧美性猛交xxxx偷拍洗澡| 国产精品人成电影| 日韩三级影视基地| 97久久精品国产| 亚洲精品小视频在线观看| 国产精品99久久久久久www| 国产精品福利无圣光在线一区| 欧美与欧洲交xxxx免费观看| 国产精品美女主播| 国产综合福利在线| 欧美日韩国产成人在线| 亚洲精品在线91| 伊人亚洲福利一区二区三区| 日本sm极度另类视频| 久久久久北条麻妃免费看| 久久久久国色av免费观看性色| 午夜免费日韩视频| 欧美精品亚州精品| 国产精品日韩在线播放| 伊人伊成久久人综合网小说| 久久久亚洲国产天美传媒修理工| 欧美xxxwww| 欧美成人自拍视频| 91麻豆桃色免费看| 国产专区精品视频| 国内精久久久久久久久久人| 精品人伦一区二区三区蜜桃网站| 青青草成人在线| 国产婷婷成人久久av免费高清| 日韩av免费网站| 欧美大学生性色视频| 在线看福利67194| 欧美精品18videos性欧| 国产精品久久久久77777| 日韩电影大片中文字幕| 国产亚洲xxx| 日韩中文字幕视频在线观看| 久久久久久午夜| 人人做人人澡人人爽欧美| 精品欧美一区二区三区| 日韩av中文字幕在线| 亚洲福利视频网| 欧美视频一二三| 超碰97人人做人人爱少妇| 亚洲欧美日韩精品久久亚洲区| 精品视频在线播放| 国产精品人人做人人爽| 国产丝袜一区二区三区免费视频| 亚洲乱码一区av黑人高潮| 色综合久久88| 欧美另类极品videosbest最新版本| 亚洲字幕一区二区| 成人性生交大片免费看视频直播| 亚洲欧美日本精品| 欧美贵妇videos办公室| 欧美亚洲在线视频| 欧美日本高清视频| 久久综合伊人77777尤物| 成人黄色生活片| 亚洲成人精品久久| 日韩av网址在线观看| 国产精品美女久久久久av超清| 亚洲美女福利视频网站| 97激碰免费视频| 欧美极品少妇全裸体| 欧美一区二区三区图| 欧美高清无遮挡| 国产免费成人av| 国产成人精品一区二区在线| 91在线视频导航| 动漫精品一区二区| 日韩欧中文字幕| 亚洲男子天堂网| 91精品国产综合久久久久久久久| 亚洲欧美成人一区二区在线电影| 国产一区二区三区丝袜| 成人写真视频福利网| 久久99久久久久久久噜噜| 国产69精品久久久久9| 欧美成人网在线| 国产精品一区二区女厕厕| 久久中文字幕国产| 日本久久久久亚洲中字幕| 日韩在线观看精品| 亚洲精品有码在线| 欧美一级片久久久久久久| 欧美日韩国产限制| 成人免费高清完整版在线观看| 98视频在线噜噜噜国产| 欧美激情免费看| 国产成人精品网站| 欧美巨大黑人极品精男| 日韩欧美在线看| 欧美日韩免费观看中文| 一区三区二区视频| 成人日韩av在线| 91精品久久久久久久久久入口| 亚洲深夜福利在线| 国产精品久久久久国产a级| 亚洲国产欧美一区二区三区同亚洲| 97视频免费在线观看| 久久在线免费视频| 国产欧美一区二区三区在线看| 日韩动漫免费观看电视剧高清| 精品成人乱色一区二区| 欧美一级大片在线免费观看| 国产视频观看一区| 亚洲人成毛片在线播放| 欧美寡妇偷汉性猛交| 欧美韩国理论所午夜片917电影| 欧美丝袜一区二区三区| 欧美精品午夜视频| 亚洲aⅴ日韩av电影在线观看| 中文字幕自拍vr一区二区三区| 亚洲在线第一页| 国产精品久久久久久超碰| 国产精品亚洲美女av网站| 国产成人精品视频在线| 亚洲精品美女网站| 狠狠综合久久av一区二区小说| 久久久久久久一区二区| 亚洲永久免费观看| 91精品久久久久久久久青青| 国产精品99久久久久久久久| 国产免费久久av| 国产成人亚洲综合| 国产99视频精品免视看7|