狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美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视频
国产一区二区高清| 国产精品日韩欧美一区| 在线亚洲一区观看| 天天射综合影视| 久久婷婷一区| 激情小说亚洲一区| 久久丝袜美腿综合| 先锋影音久久久| 久久se精品一区精品二区| 欧美一区2区视频在线观看| 高清beeg欧美| 亚洲线精品一区二区三区| 久久大逼视频| 国产盗摄一区二区| 亚洲一卡二卡三卡四卡五卡| 欧美三级韩国三级日本一级| 国产一区999| 秋霞国产午夜精品免费视频| 在线视频综合导航| 女人香蕉久久**毛片精品| 欧美日韩国产乱码电影| 亚洲免费高清视频在线| 播五月开心婷婷综合| 亚洲欧美日韩国产另类专区| 久久精品欧美一区二区三区不卡 | 欧美精品第一页| 国产高清不卡二三区| 成人午夜免费av| 欧美日韩国产免费观看| 99精品久久| 欧美亚洲动漫精品| 26uuu久久天堂性欧美| 亚洲欧美日韩系列| 麻豆精品在线看| 99视频精品免费视频| 亚洲二区视频| 日韩精品电影一区亚洲| 成人伦理片在线| 欧美欧美欧美欧美| 日韩激情视频网站| 亚洲在线一区| 亚洲色图欧美在线| 国内精品久久久久久久影视麻豆| 日韩精品中文字幕一区| 九九视频精品免费| 久久综合九色综合网站| 亚洲一区二区在线视频| 在线看片成人| 国产精品国产自产拍在线| 91麻豆国产福利在线观看| 欧美精品一区二区久久婷婷| 国产成人综合亚洲91猫咪| 欧美日韩一级视频| 另类综合日韩欧美亚洲| 91黄色小视频| 人人狠狠综合久久亚洲| 色婷婷久久久综合中文字幕| 无码av免费一区二区三区试看| 国产伦精品一区二区三区视频黑人| 亚洲色图.com| 国产视频一区三区| 亚洲一区二区三区在线| 亚洲欧美久久久| 婷婷开心久久网| 在线精品视频一区二区三四 | 欧美视频一区二区| 国产中文字幕精品| 欧美一卡二卡三卡四卡| 国产不卡高清在线观看视频| 欧美mv日韩mv| 欧美激情第8页| 亚洲日穴在线视频| 香港久久久电影| 日韩福利电影在线观看| 欧美午夜理伦三级在线观看| 国产一本一道久久香蕉| 欧美电影免费观看高清完整版| 波多野结衣中文字幕一区二区三区 | 综合久久久久综合| 久久高清国产| 国产一区欧美一区| 欧美精品一区在线观看| 午夜精品剧场| 午夜视频久久久久久| 欧美影院午夜播放| 成人免费视频播放| 1区2区3区精品视频| 男女精品视频| 亚洲精品v日韩精品| 精品动漫3d一区二区三区免费| 久久伊人中文字幕| 成人性色生活片| 日韩亚洲欧美成人一区| 久久精品国产精品亚洲综合| 色婷婷综合在线| 日本在线播放一区二区三区| 欧美在线综合| 日日骚欧美日韩| 日韩成人伦理电影在线观看| 懂色中文一区二区在线播放| 欧洲精品视频在线观看| 高清久久久久久| 中文字幕免费一区| 日本道免费精品一区二区三区| 丰满少妇在线播放bd日韩电影| 亚洲欧美偷拍卡通变态| 欧美日韩国产一级二级| 欧美一区二区视频在线| 亚洲va欧美va人人爽| 精品美女一区二区| 一本色道久久精品| 国产成人在线色| 亚洲精品国产高清久久伦理二区| 欧美四级电影在线观看| 欧美性久久久| 国产永久精品大片wwwapp| 亚洲欧美视频在线观看| 日韩一区国产二区欧美三区| 成人一级黄色片| 日韩欧美不卡在线观看视频| 亚洲欧美日韩精品综合在线观看| 国产伦精品一区二区三区免费| 亚洲三级小视频| 日韩欧美国产一区二区在线播放| 国产精品久久久久毛片大屁完整版| 国产91精品精华液一区二区三区 | 91激情在线视频| 亚洲午夜精品久久久久久app| 国产在线精品免费| 一区二区三区久久| 久久亚洲综合av| 欧美日韩免费观看一区二区三区| 激情六月综合| 成人国产精品免费| 久久av资源站| 亚洲自拍偷拍欧美| 日本一区二区三区久久久久久久久不 | 亚洲精品福利视频网站| 26uuu国产日韩综合| 欧美日韩一区精品| 美日韩精品免费| 亚洲精品一区二区三| 99久久精品99国产精品| 狠狠色狠狠色合久久伊人| 亚洲一区二区av在线| 中文字幕av一区 二区| 日韩视频免费直播| 欧美午夜精品电影| 欧美精品aa| av在线综合网| 国产成人午夜精品5599| 久久国产人妖系列| 奇米影视7777精品一区二区| 亚洲一区二区三区爽爽爽爽爽| 国产欧美日韩另类一区| 久久综合色鬼综合色| 日韩欧美精品在线| 日韩欧美在线123| 91麻豆精品国产综合久久久久久| 在线视频欧美区| 欧美自拍偷拍一区| 欧美在线综合视频| 色香蕉成人二区免费| 久久日韩精品| 欧美乱熟臀69xxxxxx| 亚洲最新在线| 91麻豆精品秘密| 国产不卡在线播放| 免费成人结看片| 亚洲靠逼com| 久久奇米777| 精品99999| 欧美自拍丝袜亚洲| 在线一区欧美| 韩国亚洲精品| 成人av手机在线观看| 麻豆国产欧美日韩综合精品二区| 综合欧美一区二区三区| 精品一区二区三区免费播放| 国产在线播放一区二区三区| 国产一区999| www.久久久久久久久| 欧美在线亚洲| 最新亚洲一区| 久久久水蜜桃| 3atv在线一区二区三区| 精品入口麻豆88视频| 久久久国际精品| 亚洲欧美另类综合偷拍| 午夜精品久久久| 精品午夜久久福利影院| 粉嫩高潮美女一区二区三区| 欧美阿v一级看视频| 亚洲欧洲精品一区二区三区波多野1战4 | 日韩一区二区三区在线| 久久久欧美精品sm网站| 国产精品美女久久久久aⅴ | 欧美电影一区二区| 久久久精品综合| 一区二区三区在线影院|