`
huangronaldo
  • 浏览: 223058 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

ORACLE中 XML 基本函数介绍

 
阅读更多

 

 

ORACLE 中 XML 基本函数介绍

 

 

1. EXTRACTXMLType_instanceXpath_string

该函数用于返回XML节点路径下的相应内容

 

示例: SELECT extract(prj_xml,'/root/main') FROM project t;

 

 

2. EXTRACTVALUEXMLType_instance,Xpath_string)

该函数用于返回特定XML节点路径的数据

 

 

示例SELECT extractvalue(  prj_xml ,'/root/main/姓名') FROM  project  t ;

 

3. EXISTSNODEXMLType_instanceXpath_string

该函数用于确定特定的XML节点的路径是否存在,返回0表示节点不存在,返回1表示节点存在。

 

示例: SELECT existsnode(value(a),'/root/main/住院号') data FROM xmltable a;

 

 

 

4. SYS_DBURIGEN({column|attribute})

 

该函数用于根据列或者属性生成类型为DBUrlTypeURL

 

示例: SELECT sys_dburigen(a.DISPLAYNAME) aa FROM v_dept a WHERE a.DISPLAYNAME='矽肺病医院'

 

 

 

5. SYS_XMLAGGexpr[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. XMLAGGXMLType_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. XMLFORESTvalue_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. XMLCOLATTVALvalue_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. XMLCONCATXMLType_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. XMLSEQUENCExmltype_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. UPDATEXMLXMLType_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. XMLTRANSFORMxmltype_instance,xsl_ss)

该函数用于将XMLType实例按照XSL样式进行转换,并生成新的XMLType实例

 

 

15. DELETEXMLXMLType_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函数

    ### ORACLE操作XML函数 #### 一、XMLTYPE_instance与XPath_string 在Oracle数据库中,`XMLTYPE`是一种专门用于存储XML数据的数据类型。通过使用`XMLTYPE`字段,可以有效地管理和查询XML文档。其中,`XPath_string`...

    Oracle 中XML处理函数介绍

    以下是对给定标题和描述中提到的一些关键Oracle XML处理函数的详细说明: 1. **EXTRACT(XMLType_instance,Xpath_string)** 此函数根据指定的XPath表达式从XMLType对象中提取内容。XPath是一种在XML文档中查找...

    Oracle的XML函数

    Oracle 中的 XML 函数是指在 Oracle 数据库中用于处理 XML 数据的函数。这些函数可以用于 SELECT 语句,也可以用于 UPDATE 和 WHERE 语句。学习这些函数可以使得保存的数据更加具有可读性。 Oracle 提供了多种 XML...

    Oracle 递归函数介绍

    Oracle 递归函数介绍 Oracle 递归函数是一种特殊的PL/SQL函数,可以用于解决复杂的树形结构查询问题。递归函数可以自我调用,以便遍历树形结构的每个节点,直到达到停止条件。 在 Oracle 中,递归函数的定义语法...

    Oracle与XML开发

    "Oracle与XML开发"这个主题涵盖了这两个技术的结合,旨在帮助开发者充分利用XML的强大功能来存储、管理和检索数据在Oracle环境中。 Oracle对XML的支持主要体现在以下几个方面: 1. **XML类型**:Oracle提供了...

    Oracle_XML开发手册Oracle_XML开发手册

    5. **XMLTransform**:Oracle提供XMLTransform函数,可以将XML文档转换为其他格式,如HTML、PDF或不同的XML结构,这在报告生成和数据交换中非常有用。 6. **PL/SQL与XML**:Oracle的PL/SQL编程语言提供了处理XML的...

    Oracle_Xml.rar_Oracle XML _oracle_xml oracle_xml数据库_操作 xml

    Oracle XML 是Oracle数据库中用于处理XML数据的一种技术。在Oracle XML中,XML数据可以被存储、查询、更新以及转换,提供了对XML数据的强大支持。Oracle数据库不仅能够存储XML文档,还可以利用内置的XML功能进行XML...

    oracle 解析xml

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Oracle数据库环境中解析XML文档。具体来说,文中提供了一个存储过程的例子,用于演示如何提取XML数据,并将其存储到Oracle表中。...

    oracle数据库的xml文件数据查询

    本文介绍了Oracle数据库中处理XML数据的基本方法,包括使用`XMLTable`、`XMLParse`和`XMLQuery`函数。通过这些工具,用户可以在Oracle环境中高效地管理和查询XML数据。无论是处理本地文件还是远程获取的数据,这些...

    Oracle XML 开发手册

    Oracle提供了多种工具和技术来处理XML,如XML DB、XMLType、XQuery以及PL/SQL中的XML函数等。 1. **XML DB**: Oracle XML DB是Oracle数据库内置的一部分,它提供了一种存储、索引、检索和管理XML文档的方法。XML DB...

    XML导入Oracle表

    2. 解析XML:使用Oracle的XML函数解析XML数据。例如,可以使用XMLTABLE函数将XML数据转换为关系表结构。 ```sql INSERT INTO xml_table (id, xml_data) SELECT 1, XMLTYPE('&lt;root&gt;&lt;element&gt;value&lt;/element&gt;&lt;/root&gt;'...

    Oracle XML开发手册

    5. **PL/SQL与XML**:Oracle的PL/SQL编程语言提供了丰富的XML处理函数和包,如DBMS_XMLGEN、DBMS_XMLSAVE、DBMS_XSLPROCESSOR等,使得在PL/SQL中生成、解析、修改XML文档变得简单易行。 6. **XML索引**:为了提高...

    在Oracle XML DB中存储XML

    ### 在Oracle XML DB中存储XML的关键知识点 #### 1. Oracle XML DB简介 - **Oracle XML DB** 是Oracle Database的一部分,旨在提供一个高效且灵活的方式来管理和查询XML文档。 - Oracle XML DB不仅支持XML文档的...

    Oracle XML开发手册(PDF)

    开发者可以利用内置的XML函数和包,如DBMS_XMLGEN和DBMS_XSLPROCESSOR,进行XML操作。 7. **XML索引**: 为了加快XML数据的检索,Oracle提供了多种类型的XML索引,如XML索引(XMLINDEX)、路径索引(PATH INDEX)和...

    hibernate 调用oracle函数

    本文将深入探讨如何在Hibernate中调用Oracle的函数,以实现高效的数据操作。 首先,我们需要理解Hibernate的核心理念,它允许开发者通过面向对象的方式来处理数据库操作,而无需编写大量的SQL语句。Hibernate通过...

Global site tag (gtag.js) - Google Analytics