ORACLE 中 XML 基本函数介绍
1.
EXTRACT(XMLType_instance,Xpath_string)
该函数用于返回XML节点路径下的相应内容
示例: SELECT extract(prj_xml,'/root/main') FROM project t;
2. EXTRACTVALUE(XMLType_instance,Xpath_string)
该函数用于返回特定XML节点路径的数据
示例: SELECT extractvalue( prj_xml ,'/root/main/姓名') FROM
project t ;
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('<row><no>1</no></row>'),
xmltype('<row><no>2</no></row>'),
xmltype('<row><no>3</no></row>'))
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('<root><row><no>1</no><name>名字1</name></row><row><no>2</no><name>名字2</name></row></root>'),
'/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操作XML函数 #### 一、XMLTYPE_instance与XPath_string 在Oracle数据库中,`XMLTYPE`是一种专门用于存储XML数据的数据类型。通过使用`XMLTYPE`字段,可以有效地管理和查询XML文档。其中,`XPath_string`...
以下是对给定标题和描述中提到的一些关键Oracle XML处理函数的详细说明: 1. **EXTRACT(XMLType_instance,Xpath_string)** 此函数根据指定的XPath表达式从XMLType对象中提取内容。XPath是一种在XML文档中查找...
Oracle 中的 XML 函数是指在 Oracle 数据库中用于处理 XML 数据的函数。这些函数可以用于 SELECT 语句,也可以用于 UPDATE 和 WHERE 语句。学习这些函数可以使得保存的数据更加具有可读性。 Oracle 提供了多种 XML...
Oracle 递归函数介绍 Oracle 递归函数是一种特殊的PL/SQL函数,可以用于解决复杂的树形结构查询问题。递归函数可以自我调用,以便遍历树形结构的每个节点,直到达到停止条件。 在 Oracle 中,递归函数的定义语法...
"Oracle与XML开发"这个主题涵盖了这两个技术的结合,旨在帮助开发者充分利用XML的强大功能来存储、管理和检索数据在Oracle环境中。 Oracle对XML的支持主要体现在以下几个方面: 1. **XML类型**:Oracle提供了...
5. **XMLTransform**:Oracle提供XMLTransform函数,可以将XML文档转换为其他格式,如HTML、PDF或不同的XML结构,这在报告生成和数据交换中非常有用。 6. **PL/SQL与XML**:Oracle的PL/SQL编程语言提供了处理XML的...
Oracle XML 是Oracle数据库中用于处理XML数据的一种技术。在Oracle XML中,XML数据可以被存储、查询、更新以及转换,提供了对XML数据的强大支持。Oracle数据库不仅能够存储XML文档,还可以利用内置的XML功能进行XML...
根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Oracle数据库环境中解析XML文档。具体来说,文中提供了一个存储过程的例子,用于演示如何提取XML数据,并将其存储到Oracle表中。...
本文介绍了Oracle数据库中处理XML数据的基本方法,包括使用`XMLTable`、`XMLParse`和`XMLQuery`函数。通过这些工具,用户可以在Oracle环境中高效地管理和查询XML数据。无论是处理本地文件还是远程获取的数据,这些...
Oracle提供了多种工具和技术来处理XML,如XML DB、XMLType、XQuery以及PL/SQL中的XML函数等。 1. **XML DB**: Oracle XML DB是Oracle数据库内置的一部分,它提供了一种存储、索引、检索和管理XML文档的方法。XML DB...
2. 解析XML:使用Oracle的XML函数解析XML数据。例如,可以使用XMLTABLE函数将XML数据转换为关系表结构。 ```sql INSERT INTO xml_table (id, xml_data) SELECT 1, XMLTYPE('<root><element>value</element></root>'...
5. **PL/SQL与XML**:Oracle的PL/SQL编程语言提供了丰富的XML处理函数和包,如DBMS_XMLGEN、DBMS_XMLSAVE、DBMS_XSLPROCESSOR等,使得在PL/SQL中生成、解析、修改XML文档变得简单易行。 6. **XML索引**:为了提高...
### 在Oracle XML DB中存储XML的关键知识点 #### 1. Oracle XML DB简介 - **Oracle XML DB** 是Oracle Database的一部分,旨在提供一个高效且灵活的方式来管理和查询XML文档。 - Oracle XML DB不仅支持XML文档的...
开发者可以利用内置的XML函数和包,如DBMS_XMLGEN和DBMS_XSLPROCESSOR,进行XML操作。 7. **XML索引**: 为了加快XML数据的检索,Oracle提供了多种类型的XML索引,如XML索引(XMLINDEX)、路径索引(PATH INDEX)和...
本文将深入探讨如何在Hibernate中调用Oracle的函数,以实现高效的数据操作。 首先,我们需要理解Hibernate的核心理念,它允许开发者通过面向对象的方式来处理数据库操作,而无需编写大量的SQL语句。Hibernate通过...