`
kt431128
  • 浏览: 39377 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XMLType字段使用方法

 
阅读更多

刚才研究了一下XMLType字段使用方法 ,现在给大家介绍一下。  主要是新增、查询、修改XMLType字段

表结构:

 

 

建表sql

 

-- Create table

create table T_BOOK

(

  ID          VARCHAR2(32) not null,

  SYS_ID      VARCHAR2(32),

  TYPE        VARCHAR2(200),

  LIBRARY     VARCHAR2(32),

  TITLE       VARCHAR2(200),

  CREATE_USER VARCHAR2(64),

  SUBJECT     VARCHAR2(200),

  DESCRIPTION VARCHAR2(200),

  PUBLISHER   VARCHAR2(200),

  CONTRIBUTOR VARCHAR2(200),

  CREATE_DATE DATE,

  FORMAT      VARCHAR2(200),

  INENTIFIER  VARCHAR2(200),

  SOURCE      VARCHAR2(200),

  LANGUAGE    VARCHAR2(200),

  OTHER_DESC  XMLTYPE

)

tablespace DCP

  pctfree 10

  initrans 1

  maxtrans 255

  storage

  (

    initial 64K

    minextents 1

    maxextents unlimited

  );

-- Add comments to the table 

comment on table T_BOOK

  is '数字资源结构表';

-- Add comments to the columns 

comment on column T_BOOK.LIBRARY

  is '分区键';

-- Create/Recreate primary, unique and foreign key constraints 

alter table T_BOOK

  add constraint PK_T_BOOK primary key (ID)

  using index 

  tablespace DCP

  pctfree 10

  initrans 2

  maxtrans 255

  storage

  (

    initial 64K

    minextents 1

    maxextents unlimited

  );

 

 

新增记录:

 

insert into t_book 

(id,other_desc) 

values (1 , sys.xmlType.createXML('<name><a id="1" value="some values">abc</a></name>') );

 

insert into t_book 

(id,other_desc) 

values (2 , sys.xmlType.createXML('<name><a id="1" value="some values">abc</a><b id="2" value="some2 values">abc2</b></name> ') );

 

 

查询记录:

查询一个字段中不存在的元素时,返回null

 

得到id=1value变量的值

select i.other_desc.extract('//name/a[@id=1]/@value').getStringVal() as ennames, id from t_book i

 

rowid ennames id

1 some values 1

2 some values 2

 

得到a节点的值

select id,i.other_desc.getclobval(), i.other_desc.extract('//name/a/text()').getStringVal() as truename from t_book i

 添加节点

update ris_u_res.t_data_402 t
set t.other_description=insertchildxml(other_description,
'//xmlType','COPYRIGHT',xmltype('<COPYRIGHT>1</COPYRIGHT>'))
    where t.id='721577' 

 

得到b节点id属性的值

Select i.other_desc.extract('/name/b/@id').getStringVal()    As Name FROM t_book i where i.id='1'

 

修改记录:

修改一个字段中不存在的元素时,不会对数据有修改,但是1rows updated,所以需要提交事务。

 

更新id1的记录的XMLType字段的a元素的id1value的值为some new value

update t_book set other_desc=updateXML(other_desc,'//name/a[@id=1]/@value','some new value') where id=1

更新节点里面的数据

 

update T_DATA_892 t
   set t.other_description = updateXML(t.other_description,
                                       '//xmlType/SERIALNUM_905S',
                                       '<SERIALNUM_905S>12072</SERIALNUM_905S>')
                                     where t.id='1591083'

分享到:
评论

相关推荐

    oracle解析XMLTYPE字段里面节点值,并用PL/SQL将查询结果导出为excel

    oracle解析XMLTYPE字段里面节点值,并用PL/SQL将查询结果导出为excel

    java中xml文件的处理及oracle中xmltype的插入和读取.pdf

    我们还使用 `XMLType COLUMN resume STORE AS CLOB` 语句指定了 `resume` 列的存储方式为 CLOB(Character Large OBject)。 二、创建 XML 文件类 在 Java 中,我们可以使用 JDOM 库来处理 XML 文件。首先,我们...

    Java使用JDBC或MyBatis框架向Oracle中插入XMLType数据

    使用Oracle的`XMLType.createXML`方法通常是最稳定且灵活的选择。而在MyBatis中,合理配置映射文件和Java代码,可以使操作更加简洁高效。在实际项目中,应根据XML数据的特性和业务需求选择合适的方法。

    xdb6.jar、xmlparserv2.jar

    5. **执行查询**:对于SELECT查询,`ResultSet`中的XMLType字段可以通过`OracleCallableStatement.getBlob()`或`OracleResultSet.getXMLType()`方法获取,然后用解析器解析成DOM或流式对象。 6. **关闭资源**:操作...

    Oracle字段转字符串/多行记录合并/连接/聚合字符串的几种方法

    Oracle提供了多种方法来实现这一目标,包括使用内置函数、PL/SQL过程以及一些高级特性。以下是对标题和描述中所涉及知识点的详细解释: 1. **concat() 函数**: Oracle中的`concat()`函数是最基本的字符串连接方法...

    Oracle XML DB文章

    - 更新 XMLType 表中的数据时,可以使用 SQL 的 UPDATE 语句,结合 `XMLTYPE` 函数,将新的 XML 内容赋值给 XMLType 字段。 - 示例中,`UPDATE XMLTABLE X SET VALUE(X) = XMLTYPE(getCLOBDocument('init.xml'));`...

    ORACLE操作XML函数

    通过使用`XMLTYPE`字段,可以有效地管理和查询XML文档。其中,`XPath_string`是用于指定在XML文档中查找或操作节点的路径表达式。 - **XMLTYPE_instance**:这是一个特定于XML数据类型的实例,用来存储XML数据。...

    XML导入Oracle表

    方法之二:使用Oracle的XMLType 1. 创建XMLType表:Oracle支持XMLType数据类型,可以直接存储XML文档。创建一个XMLType表,将XML数据作为列存储。 ```sql CREATE TABLE xml_table ( id NUMBER PRIMARY KEY, xml_...

    Oracle XML DB之浅入浅出

    可以创建包含 XMLType 字段的表,或者直接创建 XMLType 类型的表。 ###### 2.1.1 创建一个有 XMLType 类型字段的表 ```sql CREATE TABLE XMLContent ( keyValue VARCHAR2(10) PRIMARY KEY, xmlValue XMLType ); ...

    oracle更新xml节点问题的一些细节

    当我们在表中有一个XMLType字段,例如`xxx_xml`,我们需要更新其中的某个特定节点时,通常会使用`UPDATEXML`函数。这个函数允许我们定位并修改XML文档中的指定路径。 在描述中提到的问题,是由于尝试更新的XML节点...

    论文研究-基于OracleXMLDB的XML文档存取技术.pdf

    例如,可以对存储在XMLType字段中的文档执行SQL查询,并且可以使用Oracle提供的XSLT(XML样式表语言转换)功能转换XML文档格式。 Oracle XML DB还提供了Java和.NET的应用程序客户端支持,这允许开发者使用他们熟悉...

    xml导入Oracle表的简单方法

    例如,可以使用XMLTYPE对象读取XML文件,然后通过EXTRACT、EXTRACTVALUE等函数获取数据并插入到表中。 在提供的压缩包文件`TABLE2XML.sql`中,很可能是包含了创建和使用PL/SQL过程来实现XML导入的示例代码。这个...

    jaxb解析xml

    注意:在使用 @XmlType 的 propOrder 属性时,必须列出 JavaBean 对象中的所有属性,否则会报错。 #### 3.2.2 @XmlElement @XmlElement 将 java 对象的属性映射为 xml 的节点,在使用@XmlElement 时,可通过 name ...

    Oracle XML编程

    Oracle支持这两种语言,允许用户通过SQL查询XMLType字段。 4. **XSLT转换**:Oracle提供了对XSLT(XSL Transformations)的支持,这是一种转换XML文档到其他格式(如HTML或另一个XML结构)的标准方法。 5. **XML ...

    基于Oracle9i的XML数据库存取技术的实现.pdf

    Oracle9i提供了内置的XML函数,如XMLINSERT、XMLDELETE、XMLUPDATE等,用于操作XMLType字段,实现了XML数据的CRUD(创建、读取、更新、删除)操作。此外,XPath(XML路径语言)可以用来定位XML文档中的节点,实现更...

    Java解析和生成XML.pdf

    2. 常用注解的具体使用方法和属性: - `@XmlType`:拥有name、propOrder和namespace三个属性。name用于指定XML Schema中的名字,propOrder用于定义属性的顺序,namespace用于定义XML命名空间。 - `@XmlElement`:...

    Oracle 中XML处理函数介绍

    与XMLELEMENT配合使用,可以方便地构建XML结构。 11. **XMLCONCAT(XMLType_instance1[,XMLType_instance2],…)** 将多个XMLType实例连接起来,生成一个新的XMLType实例。这在需要组合多个XML数据源时非常有用。 ...

    Oracle_XML开发手册

    - `XQuery`:标准查询语言,Oracle支持其在PL/SQL中的使用,可用于查询XMLType字段。 - `XMLTable`:一种SQL构造,允许将XML数据转换为关系表,以便进行标准SQL查询。 4. **XML Schema支持** - `XML Schema`:...

    数据库与xml的导入导出

    可以使用`XMLType`对象的`getClob()`方法将XML数据转换为CLOB,然后插入到支持CLOB类型的列。或者使用`INSERT INTO ... VALUES (XMLType('&lt;xml&gt;'))`直接插入XML数据。 三、MySQL中的XML导入导出 1. 导出XML:MySQL...

    ODAC9.3.8d7-xe6

    4. **Oracle XML DB Support**:如果应用程序需要处理XML数据存储在Oracle数据库中,ODAC提供了对Oracle XML DB的全面支持,包括XMLType字段的操作。 5. **Oracle Spatial Support**:对于需要地理空间数据处理的...

Global site tag (gtag.js) - Google Analytics