欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 使用XQuery查詢DB2 XML數據

使用XQuery查詢DB2 XML數據

熱門標簽:400電話怎么申請收費標準 智能語音外呼系統打電話 怎樣在地圖標注自己的信息 電銷外呼系統違規 濟南電銷外呼防封卡怎么樣 寧夏外呼系統方案 高德地圖標注生成 南京外呼系統租用 400電話辦理2273649Z空間
正在看的db2教程是:使用XQuery查詢DB2 XML數據。

關于 XQuery
XQuery 在很多關鍵方面都與 SQL 有所不同,這很大程度上是因為這兩種語言是針對兩種具有不同特征的數據模型而設計的。XML 文檔包含層次結構,并且有其固有的順序。而基于 SQL 的數據庫管理系統所支持的表格數據結構是平面的(flat),并且是基于集合的;因此,行之間不存在順序。

這兩種數據模型的不同導致它們各自的查詢語言有很多基本的不同。例如,XQuery 支持路徑表達式,以允許程序員在 XML 的層次結構中導航,而純 SQL(沒有 XML 擴展)則不支持。XQuery 支持有類型的和無類型的數據,而 SQL 數據總是以指定類型定義的。XQuery 沒有 null 值,因為 XML 文檔會忽略缺失的或未知的數據。當然,SQL 使用 null 來表示缺失的或未知的數據值。XQuery 返回一系列的 XML 數據,而 SQL 則返回各種 SQL 數據類型的結果集。

這只是 XQuery 和 SQL 之間的基本不同點中的一部分。提供一份詳盡的列表超出了本文的范圍,不過即將發表的 IBM Systems Journal 將更詳細地討論這些語言的不同。現在我們就探索一下 XQuery 語言的一些基本方面,并看看如何使用它來查詢 DB2 Viper 中的 XML 數據。

樣本數據庫

本文中的查詢訪問在 “DB2 Viper 快速入門”(developerWorks,2006 年 4 月)中創建的樣本表。清單 1 給出了樣本數據庫中 “items” 和 “clients” 表的定義:

清單 1. 表定義



create table items (

id int primary key not null,

brandname varchar(30),

itemname varchar(30),

sku int,

srp decimal(7,2),

comments xml

)

create table clients(

id int primary key not null,

name varchar(50),

status varchar(10),

contactinfo xml

)

圖 1 中顯示了 “items.comments” 列中包含的樣本 XML 數據,而 圖 2 中則顯示了 “clients.contactinfo” 列中包含的樣本 XML 數據。隨后的例子查詢將引用這兩個 XML 文檔中的一個或兩個中的特定元素。

圖 1. 存儲在 “items” 表的 “comments” 列中的樣本 XML 文檔



圖 2. 存儲在 “clients” 表的 “contactinfo” 列中的樣本 XML 文檔



查詢環境

本文中的所有查詢都是通過交互方式發出的。這可以通過 DB2 命令行處理器或 DB2 Control Center 的 DB2 Command Editor 來完成。本文中的屏幕圖像和說明主要使用后一種方式。(DB2 Viper 還附帶了一個基于 Eclipse 的 Developer Workbench,它可以幫助程序員以圖形化的方式構造查詢。本文不討論應用程序開發問題和 Developer Workbench。)

要使用 DB2 Command Editor,啟動 Control Center,并選擇 Tools -> Command Editor。這時將出現如 圖 3 所示的窗口。在上面的面板中輸入查詢,單擊左上角的綠色箭頭運行該查詢,然后可以在下面的面板中或者在 “Query Results” 選項卡中查看輸出。

圖 3. DB2 Command Editor,可以從 DB2 Control Center 中啟動



XQuery 例子

與在 “用 SQL 查詢 DB2 XML 數據” 中一樣,本文將逐步講解一些常見的業務場景,并展示如何使用 XQuery 來滿足對 XML 數據的請求。本文還探索了需要將 SQL 嵌入在 XQuery 中的更復雜的情景。

XQuery 提供了一些不同類型的表達式,這些表達式可以隨意組合。每個表達式返回一系列的值,這些值又可以作為其他表達式的輸入。最外面的表達式的結果就是查詢的結果。

本文主要討論兩種重要的 XQuery 表達式:“FLWOR” 表達式和路徑表達式。FLWOR 表達式非常像 SQL 中的 SELECT-FROM-WHERE 表達式 —— 它用于對由多項組成的一個列表進行迭代,并且可以選擇返回通過在每一項上進行計算得到的值。而路徑表達式則可以在分層的 XML 元素之間進行導航,并返回在路徑末端找到的元素。

與 SQL 中的 SELECT-FROM-WHERE 表達式類似,XQuery FLWOR 表達式可以包含數個以某個關鍵詞開頭的子句。在 FLWOR 表達式中,有以下用于作為子句開頭的關鍵字:

  • for:對輸入序列進行迭代,依次將一個變量綁定到每個輸入項
  • let:聲明一個變量并為之賦值,可能是一個包含多項的列表
  • where:指定過濾查詢結果的標準
  • order by:指定結果的排序順序
  • return:定義所返回的結果
XQuery 中的路徑表達式由一系列的 “步(step)” 組成,之間以斜杠隔開。在最簡單的形式中,每一步在 XML 層次中向下導航,以發現由前一步返回的元素的孩子。路徑表達式中的每一步還可以包含一個謂詞,用于過濾該步返回的元素,只保留滿足某種條件的元素。例如,假設變量 $clients 被綁定到包含 Client> 元素的 XML 文檔的一個列表,則 4 步路徑表達式 $clients/Client/Address[state = "CA"]/zip 將返回居住在加利福尼亞的客戶的郵政編碼。

在很多情況下,可以任意使用 FLWOR 表達式或路徑表達式編寫查詢。

使用 DB2 XQuery 作為頂層查詢語言

要在 DB2 Viper 中直接執行 XQuery(而不是將它嵌入在 SQL 語句中),必須以關鍵字 xquery 作為查詢的開頭。這個關鍵字將指示 DB2 調用它的 XQuery 解析器來處理請求。注意,只有在使用 XQuery 作為最外層(頂層)語言的時候才需要這么做。如果是將 XQuery 表達式嵌入在 SQL 中,則不需要在語句之前加上 xquery 關鍵字。但是,本文使用 XQuery 作為基本語言,因此所有查詢之前都加上 xquery。

當 XQuery 被作為頂層語言時,它需要一個輸入數據的源。XQuery 獲得輸入數據的一種方式是調用一個名為 db2-fn:xmlcolumn 的函數,調用時帶一個參數,表明 DB2 表中 XML 列所在的表名和該列的列名。db2-fn:xmlcolumn 函數返回存儲在給定列中的一系列的 XML 文檔。例如,下面的查詢返回一系列包含客戶聯系方式信息的 XML 文檔:

清單 2. 返回客戶聯系方式數據的簡單 XQuery



x

[1] [2] [3] [4] [5] 下一篇

標簽:唐山 貴港 茂名 惠州 潛江 平頂山 長白山 仙桃

巨人網絡通訊聲明:本文標題《使用XQuery查詢DB2 XML數據》,本文關鍵詞  使用,XQuery,查詢,DB2,XML,數據,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用XQuery查詢DB2 XML數據》相關的同類信息!
  • 本頁收集關于使用XQuery查詢DB2 XML數據的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    亚洲色图视频网| 91在线你懂得| 欧美特黄一区二区三区| 欧美日韩日日夜夜| 亚洲男同1069视频| 99视频在线精品| 特级片在线观看| 国产精品乱人伦| 成人免费黄色大片| 久久高清内射无套| 国产精品成人一区二区艾草| 久久精品久久99精品久久| 黄色在线观看av| 日韩欧美国产小视频| 日本欧美大码aⅴ在线播放| 污污污www精品国产网站| 欧美一区二区私人影院日本| 婷婷开心激情综合| 丰满少妇一区二区三区| 欧美精品一区在线观看| 国产美女精品在线| 秋霞欧美一区二区三区视频免费| 国产欧美日韩久久| 风间由美中文字幕在线看视频国产欧美| 日本免费网站视频| 亚洲欧洲成人精品av97| 91丝袜国产在线播放| 欧美日韩一区二区三区在线看| 亚洲成av人影院| 五月开心播播网| www激情久久| 国产成人午夜精品影院观看视频| 中国一级片在线观看| 亚洲人成在线观看一区二区| 特黄特色免费视频| 日韩欧美色综合网站| 久久99精品久久久久久| 男女男精品视频网站| 中文字幕一区二区视频| 少妇搡bbbb搡bbb搡打电话| 日韩三级免费观看| 国产乱码精品一区二区三区五月婷| 精品国产视频一区二区三区| 亚洲激情网站免费观看| 91黄色免费视频| 久久精品亚洲精品国产欧美| 成人性生交大片免费看在线播放 | 亚洲卡通欧美制服中文| 秘密基地免费观看完整版中文| 日韩欧美中文一区二区| 欧美不卡一区二区| 国产麻豆成人传媒免费观看| 色狠狠色狠狠综合| 日韩电影免费一区| 亚洲伦理一区二区三区| 亚洲综合免费观看高清在线观看| 免费在线观看成年人视频| 国产欧美在线观看一区| 日本人dh亚洲人ⅹxx| 精品久久五月天| 99久久伊人久久99| 日韩美女在线视频| av午夜精品一区二区三区| 欧美一区二区在线不卡| 国产91精品欧美| 欧美一级片免费看| 成人性视频免费网站| 欧美一二三四区在线| 风间由美性色一区二区三区| 欧美精品黑人性xxxx| 国产成人综合精品三级| 777亚洲妇女| 福利一区福利二区| 日韩欧美一区二区三区在线| 成人伦理片在线| 精品美女在线播放| 亚洲综合中文网| 欧美国产一区二区在线观看| 午夜av免费看| 亚洲视频一二区| 女人十八毛片嫩草av| 亚洲国产欧美一区二区三区丁香婷| 婷婷综合在线视频| 首页综合国产亚洲丝袜| 91国偷自产一区二区三区成为亚洲经典| 蜜臂av日日欢夜夜爽一区| 欧洲视频一区二区| 国产高清视频一区| 日韩久久久久久| 伊人av在线播放| 国产精品久久影院| 精品人伦一区二区| 五月激情综合婷婷| 欧美视频精品在线| 成人app软件下载大全免费| 久久综合久久99| 在线观看国产三级| 一区二区三区国产精品| 99久久99久久精品国产| 国内久久精品视频| 日韩亚洲电影在线| 中文字幕第九页| 亚洲精品乱码久久久久久黑人| 婷婷激情四射网| 国产伦理精品不卡| 精品国产伦理网| 女~淫辱の触手3d动漫| 亚洲v中文字幕| 精品视频一区三区九区| 99视频一区二区| 国产精品久久久久久久久快鸭 | 波多野结衣影院| 一区二区欧美国产| 色婷婷狠狠综合| 大胆亚洲人体视频| 国产精品日韩精品欧美在线| 国产午夜福利一区| 国产一区二区在线电影| 久久夜色精品一区| 性欧美精品男男| 精品午夜久久福利影院 | 成人在线观看一区二区| 亚洲精品乱码久久久久久| 色综合久久99| 99re视频精品| 亚洲欧美一区二区三区孕妇| 九九精品视频免费| 成人免费视频视频| 亚洲视频一二三| 欧美中文字幕一二三区视频| 91小视频免费观看| 一区二区三区四区视频精品免费 | 欧美日韩在线三区| 中文字幕1区2区| 亚洲韩国一区二区三区| 欧美老女人第四色| 日b视频在线观看| 免费的成人av| 久久亚洲精品小早川怜子| 亚洲AV无码成人精品区明星换面| 久久99国产精品尤物| 国产亚洲欧美激情| 日本高清不卡免费| 不卡视频一二三| 夜夜嗨av一区二区三区中文字幕| 欧美日韩在线观看一区二区| 97精品人妻一区二区三区蜜桃| 日本大胆欧美人术艺术动态| 欧美电影免费观看高清完整版在线观看 | 91在线视频免费观看| 一区二区三区成人在线视频| 欧美美女网站色| 国产熟妇搡bbbb搡bbbb| 国产原创一区二区| 国产精品久久久久久久久免费丝袜| 91黄色免费版| 久久精品女同亚洲女同13| 蜜臀精品一区二区三区在线观看| 久久久久久久精| 亚洲欧美小视频| 亚洲视频天天射| 麻豆国产欧美日韩综合精品二区 | 久久久久一区二区三区四区| 你懂得在线观看| 潘金莲一级淫片aaaaa| 免费在线观看视频一区| 国产午夜三级一区二区三| 色婷婷av一区二区三区gif| 国产在线不卡av| 国产一区二区视频在线播放| 日韩伦理电影网| 欧美一区二区精品| 人与动物性xxxx| www.欧美com| 国内精品在线播放| 亚洲黄色片在线观看| 亚洲精品在线三区| 91成人看片片| 国产成人无码精品久久二区三| 成熟亚洲日本毛茸茸凸凹| 亚洲成人免费av| 国产欧美在线观看一区| 欧美高清激情brazzers| 精品丰满少妇一区二区三区| 亚洲欧美激情一区二区三区| 狠狠色狠狠色综合| 一区二区三区国产豹纹内裤在线| 久久久亚洲精品一区二区三区| 91国偷自产一区二区三区成为亚洲经典 | 欧美一区二区视频在线观看2022 | 1区2区3区精品视频| 欧美一卡二卡三卡| 久久久久亚洲av无码专区体验| www.日本高清| aa级大片欧美| 精品在线播放午夜| 亚洲成人免费看| 综合av第一页| 欧美精品一区二区三区高清aⅴ | 亚洲已满18点击进入久久|