刚才研究了一下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=1的value变量的值
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,所以需要提交事务。
更新id为1的记录的XMLType字段的a元素的id为1的value的值为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
我们还使用 `XMLType COLUMN resume STORE AS CLOB` 语句指定了 `resume` 列的存储方式为 CLOB(Character Large OBject)。 二、创建 XML 文件类 在 Java 中,我们可以使用 JDOM 库来处理 XML 文件。首先,我们...
使用Oracle的`XMLType.createXML`方法通常是最稳定且灵活的选择。而在MyBatis中,合理配置映射文件和Java代码,可以使操作更加简洁高效。在实际项目中,应根据XML数据的特性和业务需求选择合适的方法。
5. **执行查询**:对于SELECT查询,`ResultSet`中的XMLType字段可以通过`OracleCallableStatement.getBlob()`或`OracleResultSet.getXMLType()`方法获取,然后用解析器解析成DOM或流式对象。 6. **关闭资源**:操作...
Oracle提供了多种方法来实现这一目标,包括使用内置函数、PL/SQL过程以及一些高级特性。以下是对标题和描述中所涉及知识点的详细解释: 1. **concat() 函数**: Oracle中的`concat()`函数是最基本的字符串连接方法...
- 更新 XMLType 表中的数据时,可以使用 SQL 的 UPDATE 语句,结合 `XMLTYPE` 函数,将新的 XML 内容赋值给 XMLType 字段。 - 示例中,`UPDATE XMLTABLE X SET VALUE(X) = XMLTYPE(getCLOBDocument('init.xml'));`...
通过使用`XMLTYPE`字段,可以有效地管理和查询XML文档。其中,`XPath_string`是用于指定在XML文档中查找或操作节点的路径表达式。 - **XMLTYPE_instance**:这是一个特定于XML数据类型的实例,用来存储XML数据。...
方法之二:使用Oracle的XMLType 1. 创建XMLType表:Oracle支持XMLType数据类型,可以直接存储XML文档。创建一个XMLType表,将XML数据作为列存储。 ```sql CREATE TABLE xml_table ( id NUMBER PRIMARY KEY, xml_...
可以创建包含 XMLType 字段的表,或者直接创建 XMLType 类型的表。 ###### 2.1.1 创建一个有 XMLType 类型字段的表 ```sql CREATE TABLE XMLContent ( keyValue VARCHAR2(10) PRIMARY KEY, xmlValue XMLType ); ...
当我们在表中有一个XMLType字段,例如`xxx_xml`,我们需要更新其中的某个特定节点时,通常会使用`UPDATEXML`函数。这个函数允许我们定位并修改XML文档中的指定路径。 在描述中提到的问题,是由于尝试更新的XML节点...
例如,可以对存储在XMLType字段中的文档执行SQL查询,并且可以使用Oracle提供的XSLT(XML样式表语言转换)功能转换XML文档格式。 Oracle XML DB还提供了Java和.NET的应用程序客户端支持,这允许开发者使用他们熟悉...
例如,可以使用XMLTYPE对象读取XML文件,然后通过EXTRACT、EXTRACTVALUE等函数获取数据并插入到表中。 在提供的压缩包文件`TABLE2XML.sql`中,很可能是包含了创建和使用PL/SQL过程来实现XML导入的示例代码。这个...
注意:在使用 @XmlType 的 propOrder 属性时,必须列出 JavaBean 对象中的所有属性,否则会报错。 #### 3.2.2 @XmlElement @XmlElement 将 java 对象的属性映射为 xml 的节点,在使用@XmlElement 时,可通过 name ...
Oracle支持这两种语言,允许用户通过SQL查询XMLType字段。 4. **XSLT转换**:Oracle提供了对XSLT(XSL Transformations)的支持,这是一种转换XML文档到其他格式(如HTML或另一个XML结构)的标准方法。 5. **XML ...
Oracle9i提供了内置的XML函数,如XMLINSERT、XMLDELETE、XMLUPDATE等,用于操作XMLType字段,实现了XML数据的CRUD(创建、读取、更新、删除)操作。此外,XPath(XML路径语言)可以用来定位XML文档中的节点,实现更...
2. 常用注解的具体使用方法和属性: - `@XmlType`:拥有name、propOrder和namespace三个属性。name用于指定XML Schema中的名字,propOrder用于定义属性的顺序,namespace用于定义XML命名空间。 - `@XmlElement`:...
与XMLELEMENT配合使用,可以方便地构建XML结构。 11. **XMLCONCAT(XMLType_instance1[,XMLType_instance2],…)** 将多个XMLType实例连接起来,生成一个新的XMLType实例。这在需要组合多个XML数据源时非常有用。 ...
- `XQuery`:标准查询语言,Oracle支持其在PL/SQL中的使用,可用于查询XMLType字段。 - `XMLTable`:一种SQL构造,允许将XML数据转换为关系表,以便进行标准SQL查询。 4. **XML Schema支持** - `XML Schema`:...
可以使用`XMLType`对象的`getClob()`方法将XML数据转换为CLOB,然后插入到支持CLOB类型的列。或者使用`INSERT INTO ... VALUES (XMLType('<xml>'))`直接插入XML数据。 三、MySQL中的XML导入导出 1. 导出XML:MySQL...
4. **Oracle XML DB Support**:如果应用程序需要处理XML数据存储在Oracle数据库中,ODAC提供了对Oracle XML DB的全面支持,包括XMLType字段的操作。 5. **Oracle Spatial Support**:对于需要地理空间数据处理的...