国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle 中XML處理函數介紹

2024-08-29 13:59:00
字體:
來源:轉載
供稿:網友

1. EXTRACT(XMLType_instance,Xpath_string)

該函數用于返回XML節點路徑下的相應內容

示例:

 

復制代碼 代碼如下:
SELECT extract(value(a),'/root/main') data FROM xmltable a ;

 

2. EXTRACTVALUE(XMLType_instance,Xpath_string)

該函數用于返回特定XML節點路徑的數據

示例:

 

復制代碼 代碼如下:
SELECT extractvalue(value(a),'/root/main/姓名') data FROM xmltable a ;

 

3. EXISTSNODE(XMLType_instance,Xpath_string)

該函數用于確定特定的XML節點的路徑是否存在,返回0表示節點不存在,返回1表示節點存在。

示例:

 

復制代碼 代碼如下:
SELECT existsnode(value(a),'/root/main/住院號') data FROM xmltable a;

 

4. SYS_DBURIGEN({column|attribute})

該函數用于根據列或者屬性生成類型為DBUrlType的URL

示例:

 

復制代碼 代碼如下:
SELECT sys_dburigen(a.DISPLAYNAME) aa FROM v_dept a WHERE a.DISPLAYNAME='矽肺病醫院'

 

5. SYS_XMLAGG(expr[,fmt])

該函數用于匯總所有XML文檔,并生成一個XML文檔。

示例:

 

復制代碼 代碼如下:
SELECT SYS_XMLAGG(SYS_XMLGEN(a.order_content)) xml_content
from doc_clinic_order a, clinics_item b, med_frequencydict c
where a.patient_id = 'bd4b425e-a409-4b28-890d-d1d668fcf725'
and a.parentid = '0'
and a.route = b.item_id(+)
and a.frequency = c.frequency_id(+)

 

6. SYS_XMLGEN(expr[,fmt])

該函數用于根據數據庫表的行和列生成XMLType實例。

7. XMLAGG(XMLType_instance[ORDER BY sort_list])

該函數用于匯總多個XML塊,并生成XML文檔。

示例:

 

復制代碼 代碼如下:
select xmlagg(xmlelement("row",xmlforest(a.frequency_id as "頻次ID", a.frequency_name as "頻次名稱")))[]
from med_frequencydict a

 

8. XMLFOREST(value_expr1[,value_expr2],...)

該函數用于返回XML塊

9. XMLELEMENT(identifier[,xml_attribute_clause][,value_expr])

該函數用于返回XMLType的實例。其中參數identifier用于指定元素名,參數xml_attribute_clause用于指定元素屬性子句,參數value_expr用于指定元素值。

示例:

 

復制代碼 代碼如下:
SELECT xmlelement("row",xmlcolattval(a.frequency_code AS "編碼",a.frequency_name as "名稱")) xml
from med_frequencydict a
where a.frequency_code = 'BID'

 

10. XMLCOLATTVAL(value_expr[,value_expr2],...)

該函數用于生成XML塊,參數value_expr用于指定列名或者別名作為屬性名。

示例: 

 

復制代碼 代碼如下:
SELECT xmlelement("row",xmlcolattval(a.frequency_code AS "編碼", a.frequency_name as "名稱")) xml
from med_frequencydict a
where a.frequency_code = 'BID'

 

11. XMLCONCAT(XMLType_instance1[,XMLType_instance2],...)

該函數用于連接多個XMLType實例,并生成新的XMLType實例。

示例:

 

復制代碼 代碼如下:
select xmlconcat(xmltype('1'), xmltype('2'), xmltype('3'))
from dual

 

12. XMLSEQUENCE(xmltype_instance)

該函數用于返回XMLType實例中頂級節點以下的VARRAY元素。

示例:

 

復制代碼 代碼如下:
select extractvalue(column_value, '/row/醫囑內容') 醫囑內容
    from table(xmlsequence(extract((select value(a)
    from xmltable a
    where rownum = 1),
'/root/detail/row')))

 

13. UPDATEXML(XMLType_instance,Xpath_string,value_expr)

該函數用于更新特定XMLType實例相應的節點路徑的內容

示例:

 

復制代碼 代碼如下:
select updatexml(xmltype('1名字12名字2'), '/root/row[no=2]/name', '新名字')
from dual

 

14. XMLTRANSFORM(xmltype_instance,xsl_ss)

該函數用于將XMLType實例按照XSL樣式進行轉換,并生成新的XMLType實例

15. DELETEXML(XMLType_instance,Xpath_string)

該函數用于刪除特定XMLType實例相應的節點路徑的內容

16.XML轉換表

 

復制代碼 代碼如下:
SELECT * FROM XMLTABLE('$SQ/root/detail/row' PASSING
    (select value(a) from xmltable a) AS SQ
    COLUMNS 醫囑ID VARCHAR2(50) PATH '/row/醫囑ID',
    醫囑內容 VARCHAR2(200) PATH '/row/醫囑內容',
    頻次 VARCHAR2(200) PATH '/row/頻次',
    用法 VARCHAR2(200) PATH '/row/用法')
order by 醫囑ID

 

基本就是這樣了,小編細心幫大家整理了一下代碼格式,希望能幫到大家。


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尼勒克县| 黑龙江省| 绥化市| 会昌县| 嘉鱼县| 平安县| 油尖旺区| 康定县| 蛟河市| 平舆县| 军事| 保德县| 准格尔旗| 恩施市| 佛山市| 武安市| 延寿县| 申扎县| 亳州市| 宁武县| 镇康县| 涟源市| 彭山县| 福建省| 民和| 莆田市| 保靖县| 永靖县| 浦城县| 昌都县| 普安县| 门源| 中江县| 昌宁县| 祁连县| 安仁县| 宁远县| 如皋市| 平远县| 加查县| 察隅县|