亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

在SQL Server 2005中用XQuery分解XML數據

添加時間:2013-4-11 17:37:31  添加: 思海網絡 
SQL Server 2005的新功能,它允許你將XML數據分解到關系格式中,而不必耗用太多內存。我們首先了解一下XQuery和它在SQL Server 2005中為開發者提供的功能。

  XQuery介紹

  XQuery,也稱作XML Query,是一種查詢XML數據的語言,允許你提取所需的節點和元素。它由W3C定義,可用于今天的大多數主流數據庫引擎中,如Oracle、DB2和SQL Server。

  SQL Server 2005 XQuery函數

  下面的四個函數是SQL Server 2005中的XQuery函數。(注意,XML、XQuery語句和下面的函數都區分大小寫。例如,SQL編譯器接受XML數據中的.exist,但拒絕.EXIST或.Exist。)xml.exist

  這個方法根據一個XML節點上的搜索表達式返回一個布爾值。例如,列表A中XML代碼片段中的語句將返回1(真):SELECT @x.exist('/christmaslist/person[@gift = "socks"]')

  這個語句返回0(假):SELECT @x. exist ('/christmaslist/zach')

  由于“Socks”一詞被封套,這個語句將返回0(假)。SELECT @x.exist('/christmaslist/person[@gift = "socks"]')
xml.value

  這個方法接受一個XQuery語句并返回一個單獨值。使用列表A中同樣的XML代碼片段,不可以使用VALUE函數生成“betty”值,如下所示:SELECT @x.value('/christmaslist[1]/person[1]/@name', 'VARCHAR(20)')

  而XQuery生成“zach”值。SELECT @x.value('/christmaslist[1]/person[2]/@name', 'VARCHAR(20)')
xml.query

  這個方法接受一個XQuery并返回一個XML數據類型的實例?梢园葱枰獙⑦@些查詢簡單或復雜化,下面是一個簡單的例子:SELECT @x.query('/christmaslist/person')

  它返回XML文件:<person name="betty" gift="camera" />
<person name="zach" gift="elmo doll" />
<person name="brad" gift="socks" />
xml.nodes

  在你需要將一個XML數據類型變量中的數據分解到關系數據中時,這個方法十分有用。這個方法接受一個XQuery語句作為參數,并返回一個包含XML變量邏輯標量數據的行集。列表B中的查詢利用上面定義的XML變量,并將數據分解到一個結果集中,它顯示在XML變量中定義的人物姓名。

  修改OPENXML存儲過程

  現在我來說明如何修改上周的OPENXML存儲過程,使其可以應用XQuery功能。首先,我往XML變量中加載一些數據。如列表C所示。我們可以建立一個接受XML參數的過程,再應用XQuery函數把XML文件中的數據插入一個表中,而不必應用OPENXML。如列表D所示。

  最初在數據庫中應用XML似乎有些難于處理,還要花一些時間習慣使用XQuery和Xpath查詢。但是,經過一段時間的學習以后,你就會發現在數據庫中應用XML數據相當實用。

  例如,在上述存儲過程中應用XML數據,你只需調用一次數據庫,而不必像典型存儲過程編程那樣調用N次數據庫。這二者似乎區別不大,但對一個繁忙的系統而言,應用XML數據會有很大益處。而且,應用XQuery而非OPENXML還會顯著提高性能,對小型XML文件更是如此。

關鍵字:SQL Server 2005、XQuery、XML、數據庫

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站