欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Oracle操作xml格式數(shù)據(jù)的方法

 更新時間:2023年07月18日 10:38:50   作者:梁萌  
這篇文章主要介紹了使用Oracle操作xml格式數(shù)據(jù)的方法,Oracle 數(shù)據(jù)庫的概念和其它數(shù)據(jù)庫不一樣,這里的數(shù)據(jù)庫是一個操作系統(tǒng)只有一個庫,需要的朋友可以參考下

前期準備

新建一張用來測試的表

-- Create table
create table XMLTEST
(
  id      NUMBER,
  content VARCHAR2(4000)
);

往表中插入數(shù)據(jù)

insert into XMLTEST (id, content)
values (1, '<root><app><id>1</id><name>張三</name><age>18</age></app><app><id>2</id><name>李四</name><age>20</age></app><app><id>3</id><name>王五</name><age>30</age></app></root>');
insert into XMLTEST (id, content)
values (2, '<root><app><id>1</id><name>張三</name><age>18</age></app></root>');

字段CONTENT的值為字符串格式的xml數(shù)據(jù),

ID為1的記錄結(jié)構(gòu)如下:

ID為2的記錄結(jié)構(gòu)如下:

下面使用sql對xml數(shù)據(jù)進行查詢:

示例一:

將字符串轉(zhuǎn)為xml格式

select xmltype(CONTENT)  vxml from xmltest;

 示例二:

返回一個節(jié)點下的所有值

返回id為1的記錄,所有的name的值

--extract 返回一個節(jié)點下的所有值
select  extract(xmltype(CONTENT), 'root/app/name') vxml from xmltest where id = 1;

示例三:

將xml數(shù)據(jù)轉(zhuǎn)為表數(shù)據(jù)格式

當(dāng)xml只有一個節(jié)點時(ID=2的記錄)

--extractvalue只能返回一個節(jié)點的一個值  
select x.id tblid,
extractvalue(xmltype(x.CONTENT),'root/app/id') as id,
extractvalue(xmltype(x.CONTENT),'root/app/name') as name,
extractvalue(xmltype(x.CONTENT),'root/app/age') as age
from xmltest x where x.id = 2;

當(dāng)xml有多個節(jié)點時(ID=1的記錄)

--table和XMLSequence 將xml節(jié)點數(shù)據(jù)轉(zhuǎn)為表數(shù)據(jù)格式
select  x.id tblid,
extractValue(value(newval),'/app/id') id,
extractValue(value(newval),'/app/name') name,
extractValue(value(newval),'/app/age') name
from xmltest x,
table(XMLSequence( extract(xmltype(x.CONTENT), 'root/app') )) newval
where x.id = 1;

到此這篇關(guān)于使用Oracle操作xml格式數(shù)據(jù)的方法的文章就介紹到這了,更多相關(guān)Oracle操作xml格式數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Oracle轉(zhuǎn)換MySql之遞歸start with詳解

    Oracle轉(zhuǎn)換MySql之遞歸start with詳解

    Oracle中的`startwith`函數(shù)在MySQL中需要轉(zhuǎn)換為使用`LIKE`操作符,并且可能需要自定義函數(shù)來實現(xiàn)類似的功能
    2024-12-12
  • Oracle觸發(fā)器用法實例詳解

    Oracle觸發(fā)器用法實例詳解

    這篇文章主要介紹了Oracle觸發(fā)器用法,結(jié)合實例形式詳細分析了Oracle觸發(fā)器的概念,功能,語法及相關(guān)使用技巧,需要的朋友可以參考下
    2016-03-03
  • Oracle Decode()函數(shù)使用技巧分享

    Oracle Decode()函數(shù)使用技巧分享

    decode()函數(shù)是ORACLE PL/SQL是功能強大的函數(shù)之一,目前還只有ORACLE公司的SQL提供了此函數(shù),其他數(shù)據(jù)庫廠商的SQL實現(xiàn)還沒有此功能
    2013-05-05
  • Oracle數(shù)據(jù)庫中SQL開窗函數(shù)的使用

    Oracle數(shù)據(jù)庫中SQL開窗函數(shù)的使用

    這篇文章主要介紹了Oracle數(shù)據(jù)庫中SQL開窗函數(shù)的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • ORALCE?substr函數(shù)及substrb與字符集關(guān)系詳解

    ORALCE?substr函數(shù)及substrb與字符集關(guān)系詳解

    這篇文章主要介紹了ORALCE?substr函數(shù)及substrb與字符集關(guān)系,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • Oracle數(shù)據(jù)泵EXPDP/IMPDP導(dǎo)出導(dǎo)入功能詳細深入解析

    Oracle數(shù)據(jù)泵EXPDP/IMPDP導(dǎo)出導(dǎo)入功能詳細深入解析

    這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)泵EXPDP/IMPDP導(dǎo)出導(dǎo)入功能的相關(guān)資料,數(shù)據(jù)泵導(dǎo)出/導(dǎo)入屬于邏輯備份,熱備份與冷備份都屬于物理備份,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • Oracle 12C實現(xiàn)跨網(wǎng)絡(luò)傳輸數(shù)據(jù)庫詳解

    Oracle 12C實現(xiàn)跨網(wǎng)絡(luò)傳輸數(shù)據(jù)庫詳解

    這篇文章主要給大家介紹了關(guān)于Oracle 12C實現(xiàn)跨網(wǎng)絡(luò)傳輸數(shù)據(jù)庫的相關(guān)資料,文中介紹的非常詳細,相信對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Oracle查詢執(zhí)行計劃

    Oracle查詢執(zhí)行計劃

    執(zhí)行計劃(Execution Plan)也叫查詢計劃(Query Plan),它是數(shù)據(jù)庫執(zhí)行SQL語句的具體步驟和過程。本文主要介紹了Oracle查詢執(zhí)行計劃方法,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • oracle sqlplus 常用命令大全

    oracle sqlplus 常用命令大全

    show和set命令是兩條用于維護SQL*Plus系統(tǒng)變量的命令
    2009-05-05
  • Oracle一個用戶如何訪問其它用戶的表應(yīng)用指南

    Oracle一個用戶如何訪問其它用戶的表應(yīng)用指南

    本文將詳細介紹Oracle一個用戶如何訪問其它用戶的表,需要的朋友可以參考下
    2012-11-11

最新評論