狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

Oracle XQuery查詢、構建與轉換XML(2)

Oracle XQuery查詢、構建與轉換XML(2)

更新時間:2024-04-12 文章作者:未知 信息來源:網絡 閱讀次數:

查詢 Oracle XML DB 信息庫中的 XML 數據

為訪問 Oracle XML DB 信息庫中存儲的 XML 數據,Oracle XQuery 引入了 fn:doc 和 fn:collection XQuery 函數。使用 fn:doc,您可以查詢 XML 信息庫中存儲的單個 XML 文檔,而 fn:collection 使您可以訪問同一信息庫文件夾中存儲的多個 XML 文檔。

正如本文之前(參閱使用關系數據構建 XML部分)介紹的示例所演示,使用 fn:doc 非常簡單直接。它獲取表示信息庫文件資源 (URI) 的字符串并返回該 URI 指向的文檔。要了解 fn:collection XQuery 函數的作用,同一文件夾中至少應有兩個信息庫文件。如果已經運行了列表 1 中的代碼,則已經創建了 /public/employees 信息庫文件夾并在其中存儲了 employees.xml 文件。因此,您將需要在該文件夾中至少再創建一個 XML 文件,然后才能試用 fn:collection。列表 2 中的 PL/SQL 代碼基于 SCOTT/TIGER 演示數據庫模式的 dept 和 emp 表存儲的關系數據構建 XML,然后將生成的 XML 文檔作為 acc_dept.xml 保存到 /public/employees 信息庫文件夾。要運行列表 2 中的 PL/SQL 過程,請確保以 SCOTT/TIGER 的身份登錄。

列表 2:基于關系數據構建 XML 并將其保存到 XML 信息庫

DECLARE

XMLdoc XMLType;

BEGIN

SELECT XMLQuery(

'for $j in ora:view("SCOTT", "dept")/ROW

where $j/DEPTNO = 10

return (

{$j/DEPTNO,

$j/DNAME}

{

for $i in ora:view("SCOTT", "emp")/ROW

where $i/DEPTNO = $j/DEPTNO

return (



{$i/EMPNO,

$i/ENAME,

$i/SAL}

)}



)'

RETURNING CONTENT) INTO XMLdoc FROM DUAL;

IF(DBMS_XDB.CREATERESOURCE('/public/employees/acc_dept.xml', XMLdoc)) THEN

DBMS_OUTPUT.PUT_LINE('Resource is created');

ELSE

DBMS_OUTPUT.PUT_LINE('Cannot create resource');

END IF;

COMMIT;

END;

/

此時,/public/employees 信息庫文件夾應包含兩個文件:acc_dept.xml(由列表 2 中的 PL/SQL 代碼生成)和 employees.xml 文件(由列表 1 中的代碼生成)。由于這些 XML 文檔存儲在同一信息庫文件夾中,因此可以使用 fn:collection 函數訪問兩個 XML 文檔中存儲的員工信息。然而,盡管這些 XML 文檔均包含員工 XML 元素(這些元素實際上具有相同結構),但 XML 文檔本身的結構迥然不同。在 employees.xml 中,文檔根元素為 EMPLOYEES,而 acc_dept.xml 將 DEPARTMENT 用作根元素。要解決此問題,可以通過 XQuery 使用 XPath // 構造,從而導航到 XML 文檔中的某個節點,而不必指定該節點的確切路徑。以下示例演示了如何在 XQuery 表達式中使用 XPath // 構造:

SELECT XMLQuery(

'for $i in fn:collection("/public/employees")//EMPLOYEE

where $i/SAL >= 5000

order by $i/ENAME

return;

$i'

RETURNING CONTENT) FROM DUAL;

該構造應生成以下輸出:



102

De Haan

17000





7839

KING

5000





100

King

24000





101

Kochhar

17000

您可以看到,以上輸出包含從 employees.xml 和 acc_dept.xml 中獲取的員工 XML 元素,這些元素表示薪酬大于或等于 5,000 美元的員工。

將 XML 分解為關系數據

如果應用程序處理關系數據而非 XML,而您需要訪問的數據以 XML 格式存儲,則將 XML 分解為關系數據可能會非常有用。繼續進行上一部分的示例,您可以使用 SQL 函數 XMLTable 將員工 XML 元素分解為虛擬表的單個列,如下所示:

SELECT emps.empno,emps.ename, emps.sal FROM 

XMLTable(

'for $i in fn:collection("/public/employees")//EMPLOYEE

where $i/SAL >= 5000

return;

$i'

COLUMNS empno NUMBER PATH '/EMPLOYEE/EMPNO',

ename VARCHAR2(30) PATH '/EMPLOYEE/ENAME',

sal NUMBER PATH '/EMPLOYEE/SAL') emps;

該查詢將生成以下輸出:

EMPNO ENAME SAL

----- -------------- ----------

7839 KING 5000

100 King 24000

101 Kochhar 17000

102 De Haan 17000


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
久久亚洲精品欧美| 91麻豆蜜桃一区二区三区| 亚洲手机成人高清视频| 久久国产人妖系列| 国产精品乱看| 亚洲欧美综合色| 日本不卡免费在线视频| 国产日韩一区二区| 欧美va天堂在线| 国产精品福利一区| 欧美一区二区三区视频在线| 午夜久久久久| 九九精品一区二区| 亚洲中国最大av网站| 精品日韩一区二区三区免费视频| 久久精品中文| 亚洲麻豆一区| 欧美激情1区| 欧美激情视频一区二区三区免费| 欧美高清一区| 国产欧美一级| 99日韩精品| 久久久久久九九九九| 欧美日韩久久一区二区| 色噜噜狠狠色综合欧洲selulu| 亚洲国产欧美日韩| 欧美日韩国产欧| 91视视频在线观看入口直接观看www | 性感美女极品91精品| 国产精品网站在线| 日韩视频免费观看高清完整版 | 午夜国产精品视频| 亚洲欧洲精品一区二区| 在线亚洲高清视频| 久久国产精品久久精品国产| 日本久久一区二区| 精品国产人成亚洲区| 欧美一二三四在线| 中文字幕五月欧美| 极品少妇xxxx精品少妇| 91免费看视频| 色欧美片视频在线观看| 久久精品综合一区| 日韩精品一区二区三区四区视频 | 欧美色涩在线第一页| 欧美天堂一区二区三区| 色综合久久88色综合天天| 欧美成人女星排行榜| 一二三区精品福利视频| 亚洲伊人伊色伊影伊综合网| 亚洲bt欧美bt精品| 福利电影一区二区三区| 欧美尤物一区| 在线观看区一区二| 国产精品三级视频| 极品尤物av久久免费看| 亚洲黄色视屏| 欧美成人乱码一区二区三区| 亚洲超碰精品一区二区| 91啪九色porn原创视频在线观看| 色老汉av一区二区三区| 欧美激情中文字幕| 亚洲午夜久久久| 精品一区在线看| 一区二区精品国产| 精品日韩欧美在线| 精品亚洲aⅴ乱码一区二区三区| 狠久久av成人天堂| 色妹子一区二区| 国产精品久久久久久久久久免费看 | 亚洲成人资源网| 国产一区二区无遮挡| 中文网丁香综合网| 国产欧美日产一区| 天堂在线亚洲视频| 国产成人免费在线| 国产在线观看一区| 日韩欧美成人一区二区| 久草热8精品视频在线观看| 一区二区三区三区在线| 欧美国产日产图区| 99久久婷婷国产综合精品| 国产精品视区| 国产精品国产三级国产aⅴ中文 | av在线不卡电影| 国产精品久久久久久久久久妞妞| 久久久综合视频| 丝袜诱惑亚洲看片| 一区二区免费在线视频| 最新国产成人在线观看| 欧美激情麻豆| 国产精品色哟哟| 国产一区日韩欧美| 国产精品每日更新在线播放网址 | 国产精品欧美日韩一区| 亚洲日本丝袜连裤袜办公室| 午夜久久久久| 国产精品家庭影院| 亚洲视频中文| 亚洲欧美日韩小说| 国产精品12区| 日韩精品综合一本久道在线视频| 国产在线精品一区二区| 亚洲国产精品日韩| 精品久久久久久久一区二区蜜臀| 国产精品夜夜嗨| 麻豆成人在线播放| 午夜视频久久久久久| 亚洲午夜一区| 亚洲天堂2014| 乱码第一页成人| 蜜桃视频一区二区三区在线观看 | 欧美成人三级在线| 97久久久精品综合88久久| 久久久亚洲国产美女国产盗摄| 亚洲欧美文学| 亚洲色图在线视频| 久久尤物视频| 激情综合色综合久久| 欧美www视频| 欧美日韩一卡| 亚洲一区二区三区四区在线| 欧美在线观看一区| 成人夜色视频网站在线观看| 老色鬼久久亚洲一区二区| 久88久久88久久久| 精品国产伦理网| 国模精品娜娜一二三区| 午夜欧美大尺度福利影院在线看| 欧美综合视频在线观看| 成人av午夜影院| 欧美成人乱码一区二区三区| 99国产精品久久| 一区二区三区四区高清精品免费观看| 久久久久久夜| 成人在线综合网| 亚洲人快播电影网| 欧美日韩一区不卡| 色综合色综合色综合色综合色综合 | 国产盗摄一区二区| 国产精品少妇自拍| 色噜噜狠狠成人中文综合| www.欧美.com| 亚洲电影视频在线| 欧美mv和日韩mv国产网站| 一区二区三区国产在线| 国产成人在线观看| 有坂深雪av一区二区精品| 日韩精品中文字幕一区| 99热精品一区二区| 天天操天天综合网| 国产偷国产偷亚洲高清人白洁 | 在线观看视频91| 国产一区视频在线观看免费| 奇米影视一区二区三区| 国产精品沙发午睡系列990531| 欧美亚洲综合在线| 国产精品久久7| 国产福利一区二区三区视频| 亚洲精品欧美在线| 欧美成人性福生活免费看| 久久精品国产综合精品| 欧美呦呦网站| 久久精品国产免费看久久精品| 国产精品毛片a∨一区二区三区| 欧美日韩免费一区二区三区视频| 激情综合中文娱乐网| 粉嫩aⅴ一区二区三区四区| 午夜久久久影院| 国产精品久久网站| 欧美成人a∨高清免费观看| 色系网站成人免费| 99国产精品久久久久老师| 97精品国产97久久久久久久久久久久| 日韩精品91亚洲二区在线观看| 久久久久久久久久久99999| 欧美蜜桃一区二区三区| 校园激情久久| 理论电影国产精品| 一区二区三区日韩欧美| 欧美国产禁国产网站cc| 欧美tickling网站挠脚心| 欧美日韩国产成人在线91| 色综合久久久久综合99| 亚洲清纯自拍| 影音先锋国产精品| 欧美涩涩视频| 欧美久色视频| 99精品欧美一区二区三区小说| 狠狠久久亚洲欧美| 国产精品国产三级国产普通话99 | 欧美—级在线免费片| 欧美成人猛片aaaaaaa| 欧美一区二区久久久| 欧美日本乱大交xxxxx| 欧美性猛片aaaaaaa做受| 久久久久se| 色综合久久久久| 色婷婷国产精品| 欧美在线影院一区二区|