刚才研究了一下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
java中xml文件的处理及oracle中xmltype的插入和读取.pdf
XMLType是Oracle支持的一种基于XML格式存储的数据类型,这里我们共同来探究Java使用JDBC或MyBatis框架向Oracle中插入XMLType数据的方法:
oracle数据库xmltype类型解析使用的jar包,xdb6.jar、xmlparserv2.jar
oracle操作xmltype
XMLtype 是一个基于控制台的 UTF-8 编码的面向 XML 文档的文件的编辑器。 它从一开始就设计用于多语言使用,甚至用于编写双向文本(例如混合英语和希伯来语)。
xml 解析方式有四种--DOM 、SAX、JDOM、DOM4J。
XMLTYPE_instance:XML数据类型的字段,用于保存XML ,XPath_string:操作的节点路径,例如:/info/Owner。 绝对路径与相对路径:区别在于路径字符串最前面的斜杠是否存在,有斜杠代表绝对路径,没有斜杠则是相对路径...
2.1.1创建一个有XMLType类型字段的表: create table xmlcontent (keyvalue varchar2(10) primary key, xmlvalue xmltype); 2.1.2创建一个XMLType类型表 create table xmltable of xmltype; 2.1.3从XML文件中...
。。。
一个表有一个字段为xml_col是xmltype类型,应用jdbc从数据库中查询到xml_c并取出
xml与bean相互转换同时伴随xsd验证
6.7查看和编辑XMLTYPE 6.8直接查询导出 6.9保存SQL脚本 6.10创建标准查询 7命令窗口 7.1输入SQL语句和命令 7.2开发命令文件 7.3支持命令 8创建与修改非PL/SQL对象(因篇幅限制下面2级目录省略) 9图标 10报告...
XMLType.XSD_STRING,//参数类型:String ParameterMode.IN); //参数模式:'IN' or 'OUT' call.addParameter("arg1", //参数名 XMLType.XSD_STRING,//参数类型:String ParameterMode.IN); //参数模式:'IN'...
kettle有关xml的多种写入方式
XMLParsing 最初是想着将自己的博客 提交给百度收录,由于 Github 是不允许爬取的,所以尝试了几次还是... 简化与 XML 的交互并且比使用 DOM 实现更快,仅使用具体类而不使用接口因此简化了 API,并且易于使用。
6.7 查看和编辑 XMLTYPE 列..........................................44 6.8 直接查询导出..................................................44 6.9 保存 SQL 脚本...............................................
oracle xmltype 类型 jdbc 的相关jar包 包含 ojdbc8.jar orai18n.jar xdb6.jar xdb.jar xmlparserv2.jar