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

首頁 > 數(shù)據(jù)庫 > DB2 > 正文

使用XQuery查詢DB2 XML數(shù)據(jù)

2020-01-31 14:52:46
字體:
供稿:網(wǎng)友
正在看的db2教程是:使用XQuery查詢DB2 XML數(shù)據(jù)。

關(guān)于 XQuery
XQuery 在很多關(guān)鍵方面都與 SQL 有所不同,這很大程度上是因?yàn)檫@兩種語言是針對(duì)兩種具有不同特征的數(shù)據(jù)模型而設(shè)計(jì)的。XML 文檔包含層次結(jié)構(gòu),并且有其固有的順序。而基于 SQL 的數(shù)據(jù)庫管理系統(tǒng)所支持的表格數(shù)據(jù)結(jié)構(gòu)是平面的(flat),并且是基于集合的;因此,行之間不存在順序。

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

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

樣本數(shù)據(jù)庫

本文中的查詢?cè)L問在 “DB2 Viper 快速入門”(developerWorks,2006 年 4 月)中創(chuàng)建的樣本表。清單 1 給出了樣本數(shù)據(jù)庫中 “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 數(shù)據(jù),而 圖 2 中則顯示了 “clients.contactinfo” 列中包含的樣本 XML 數(shù)據(jù)。隨后的例子查詢將引用這兩個(gè) XML 文檔中的一個(gè)或兩個(gè)中的特定元素。

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

使用XQuery查詢DB2 XML數(shù)據(jù)(圖一)

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

使用XQuery查詢DB2 XML數(shù)據(jù)(圖二)

查詢環(huán)境

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

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

圖 3. DB2 Command Editor,可以從 DB2 Control Center 中啟動(dòng)

使用XQuery查詢DB2 XML數(shù)據(jù)(圖三)

XQuery 例子

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

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

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

與 SQL 中的 SELECT-FROM-WHERE 表達(dá)式類似,XQuery FLWOR 表達(dá)式可以包含數(shù)個(gè)以某個(gè)關(guān)鍵詞開頭的子句。在 FLWOR 表達(dá)式中,有以下用于作為子句開頭的關(guān)鍵字:

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

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

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

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

當(dāng) XQuery 被作為頂層語言時(shí),它需要一個(gè)輸入數(shù)據(jù)的源。XQuery 獲得輸入數(shù)據(jù)的一種方式是調(diào)用一個(gè)名為 db2-fn:xmlcolumn 的函數(shù),調(diào)用時(shí)帶一個(gè)參數(shù),表明 DB2 表中 XML 列所在的表名和該列的列名。db2-fn:xmlcolumn 函數(shù)返回存儲(chǔ)在給定列中的一系列的 XML 文檔。例如,下面的查詢返回一系列包含客戶聯(lián)系方式信息的 XML 文檔:

清單 2. 返回客戶聯(lián)系方式數(shù)據(jù)的簡單 XQuery



x

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

亚洲色无码播放| 国产+成+人+亚洲欧洲自线| 91精品免费视频| 五月天男人天堂| 成视频免费在线看| 国产成免费视频| 先锋资源男人站| 欧美性猛交xxxx黑人猛交| 一区精品视频| 好吊一区二区三区| 曰本色欧美视频在线| 午夜精品影院在线观看| 中文字幕日韩一区二区三区| 国产一区免费看| 日韩欧美久久| 在线中文字幕网站| 欧美国产日韩一区二区| 老司机深夜福利网站| 黄色在线观看www| 精品一区二区视频在线观看| 92国产精品观看| 小早川怜子痴女在线精品视频| 午夜精品三级久久久有码| 欧美三级电影在线播放| 国产亚洲欧美一区| 自拍偷拍电影| www.亚洲自拍| 日本一区二区三区dvd视频在线| 亚洲一区二区三区激情| 国产高清免费在线播放| 国产一区白浆| 国产97免费视| 日韩中字在线| 欧美激情三级免费| 日韩精品最新在线观看| 免费黄色小视频在线观看| 欧美成人国产精品一区二区| 美女流白浆视频| 韩日欧美一区二区三区| 黄页免费在线| 欧美欧美欧美欧美首页| 欧美**字幕| 久久国产乱子精品免费女| 蜜桃久久一区二区三区| 一二三四区视频| 最近2018年中文字幕在线| 日韩欧美在线不卡| 欧美日韩另类丝袜其他| 婷婷精品国产一区二区三区日韩| aiai在线| 亚洲在线一区| 欧美亚洲国产日韩2020| 日本美女爱爱视频| 日产精品久久久久久久蜜臀| 综合激情在线| 一区二区视频在线看| 中文字幕视频在线播放| 亚洲色图都市小说| 北岛玲精品视频在线观看| 91麻豆精品国产91久久久资源速度| 91综合精品国产丝袜长腿久久| 9久久9毛片又大又硬又粗| 午夜日韩成人影院| 完美搭档在线观看| 亚洲高清视频的网址| 国产真实伦在线观看| 国产精品美乳在线观看| 夜夜躁狠狠躁日日躁av| 国产免费成人在线视频| 在线三级中文| 91视频免费在线| 欧美黑人又粗又大又爽免费| 在线免费观看你懂的| 日本高清在线观看| 国产精品区在线观看| www.亚洲一区二区| 福利在线免费视频| 你懂的在线观看| 欧美一区=区三区| 日本美女在线中文版| 偷拍亚洲欧洲综合| 欧美xxx另类| 美女网站视频一区| 偷窥自拍欧美色图| 91日韩中文字幕| 国产一区二区美女诱惑| 九九视频免费观看视频精品| 91精品视频在线免费观看| 黄色av网址在线免费观看| 亚洲国产精品成人天堂| 艳妇乳肉豪妇荡乳av| 秋霞在线一区| 欧美一级片久久久久久久| 高清国产免费| 无码人妻aⅴ一区二区三区玉蒲团| 国偷自产av一区二区三区| 亚洲一区av| 久久久国产精品不卡| 日韩精品中文字幕在线播放| av在线不卡免费观看| 亚洲av无码精品一区二区| 欧美性猛交xxxx乱大交少妇| 99久久亚洲精品日本无码| 国产日韩欧美一区二区三区乱码| 国产ts人妖一区二区| eeuss鲁片一区二区三区在线观看| 欧美激情影音先锋| 69精品国产久热在线观看| 日韩精品人妻中文字幕有码| 欧美激情一区二区三级高清视频| 国产精选在线视频拍拍拍| 国产精品一区视频网站| 亚洲综合欧美日韩| 成人久久久精品乱码一区二区三区| 欧美在线一二三| 三级久久三级久久久| 美女视频网站黄色亚洲| 久久久久久久9999| 亚洲熟女一区二区三区| 久久精品国产成人| 日韩视频免费观看| 精品视频在线免费| 国产一区二区三区免费在线观看| 欧美少妇性xxxx| 精品亚洲va在线va天堂资源站| 人人干人人干人人干| 9国产精品视频| 欧美老女人性视频| 免费永久视频| 亚洲成人影院少妇| 天天干天天草天天| 成人少妇影院yyyy| 国产精品日日摸夜夜摸av| 97操在线视频| 亚洲激情电影中文字幕| 国产婷婷色一区二区三区四区| 黄毛片在线观看| 色呦色呦色精品| 不卡中文字幕在线| 日本电影全部在线观看网站视频| 日韩美女视频一区二区在线观看| 欧美成人免费在线观看视频| 亚洲一级在线播放| 国产精品入口66mio| 精品一区二区三区免费爱| 日韩国产在线| 免费成人深夜蜜桃视频| 欧美极品少妇xxxxx| 99九九热只有国产精品| 国产一区激情| 日韩一级片免费看| 亚洲日本中文字幕免费在线不卡| 久久亚洲成人精品| 日韩一区不卡| 日韩精品视频久久| 亚洲美女免费精品视频在线观看| 在线不卡日本| 国产免费成人在线| 久久精品亚洲成在人线av网址| 欧美性做爰猛烈叫床潮| 别急慢慢来1978如如2| 一区二区三区 日韩| 好操啊在线观看免费视频| 亚洲三区在线观看| 久久99精品久久久久久久久久久久| 久久精品欧美一区二区三区不卡| 欧美爱爱视频| 国产91在线亚洲| 亚洲成av人片观看| 欧美电影影音先锋| 亚洲欧美在线播放| 国产a级片免费观看| 3d性欧美动漫精品xxxx软件| 亚洲一二三四在线| 国产专区中文字幕| 99精品人妻无码专区在线视频区| 自己做鸭怎么接单寻找客源| 日韩视频第二页| 日韩中文字幕电影| 一级黄色在线播放| 国产吞精囗交久久久| 精品福利网址导航| 免费一级黄色大片| 91麻豆成人精品国产| 国产99久久久国产精品免费看| 精品嫩草影院| 欧美午夜一区二区福利视频| 9i看片成人免费看片| 欧美成人免费高清视频| 男女猛烈无遮挡| 日韩精品视频播放| 日韩精品xxxx| 一区二区高清| 色悠久久久久综合欧美99| 国产精品外国| 卡通动漫国产精品| 嘿嘿视频在线观看| 亚洲色图100p| 九九热免费在线观看| 中文字幕一二三区在线观看| 91欧美激情另类亚洲| 免费看黄视频网站| 青娱乐国产精品| 免费av网站在线播放| 欧美优质美女网站| 又色又爽又黄18网站| 哺乳一区二区三区中文视频| 亚洲欧美日韩小说| 九九精品久久| 性色av蜜臀av色欲av| 折磨小男生性器羞耻的故事| 在线视频网站| 免费视频一区二区三区在线观看| 一本色道久久88亚洲精品综合| 欧美一区永久视频免费观看| 免费不卡在线视频| 奇米色777欧美一区二区| 丰乳肥臀在线| 国产精品狼人久久影院观看方式| 日本韩国欧美中文字幕| 欧美日韩免费观看一区| 亚洲成人激情自拍| 国产精品无码午夜福利| 欧美成人午夜电影| 婷婷国产在线| 成人免费一区二区三区| 人人做人人爽人人爱| 噜噜噜在线观看免费视频日韩| 国产大片精品免费永久看nba| 日韩欧美在线中文字幕| 精品国产一区二区精华| 日本在线观看网址| 欧美国产日韩一二三区| 午夜娱乐在线| 中文字幕线观看| www.av视频在线观看| 欧美一区二区三区久久| 国内不卡的二区三区中文字幕| av在线免费播放网站| 国模一区二区三区私拍视频| 久久精品免视着国产成人| 国产91精品青草社区| 亚洲色图官网| 9999精品视频| 日韩欧美成人一区二区| 免费看黄在线看| 中文字幕免费观看视频| 国产午夜精品免费一区二区三区| 国产精品无码毛片| 精品一区国产| 久久先锋影音av鲁色资源| 2018天天操夜夜操| 黄色漫画在线免费观看| 国产不卡一区视频| 精品人伦一区二区三区蜜桃免费| 亚洲欧美日韩在线播放| 中文字幕免费高清在线观看| 国产精华一区| 亚洲日本在线看| 久久久久久久久久久久网站| 国产精品亚洲片夜色在线| 久国内精品在线| 爱爱爱视频网站| 在线观看日韩片| 亚洲丁香婷深爱综合| www.97.| 亚洲天堂视频一区| 国产精品a久久久久| 日韩黄色碟片| 日韩一区中文字幕| 日韩一级片大全| 清纯唯美亚洲经典中文字幕| 国产伊人精品| 邻家有女韩剧在线观看国语| h视频在线观看免费完整版| 一区二区三区在线播放| 特级西西444www大精品视频| 波多野结衣免费观看| 又粗又硬又爽国产视频| 日本成人中文| 欧美精品久久久久久久久久| 无码人妻aⅴ一区二区三区有奶水| 中文字幕免费高清| 欧美精品videossex88| 99国产精品久久久久老师| 成人黄网18免费观看的网站| 美女被到爽高潮视频| 欧美日韩高清一区二区三区| 91福利在线看| 国产激情在线视频| 国产成人av免费观看| 国产激情视频在线看| 欧美日韩国产中文字幕在线| 夜夜骑夜夜操| 国产精品嫩草69影院| 国产午夜精品久久久久久久久| 日韩一级大片在线| 一区二区三区四区五区精品视频| 岛国精品在线| 亚洲欧美自拍视频| 久久久噜噜噜久久中文字幕色伊伊| 欧美深深色噜噜狠狠yyy| 日韩电影在线观看电影| wwwww在线观看免费视频| 国产成人综合在线视频| 一色屋成人免费精品网| 天天综合狠狠精品| 青青草娱乐视频| 欧美大喷水吹潮合集在线观看| 久久精品视频导航| 亚洲不卡1区| www.aqdy爱情电影网| 欧美性生活一区| 最好看的日本字幕mv视频大全| 日韩一区二区免费在线观看| 欧美日韩性视频在线| 久久福利免费视频| 校园春色综合网| 久久成人免费网站| 亚洲videos| 成人自拍爱视频| 日韩在线免费高清视频| 国产精品扒开做爽爽爽的视频| 在线观看导航| 成人在线免费观看视频网站| 一级黄色大片视频| 国产盗摄x88av| 亚洲欧洲一区二区福利|