oracle XMLType字段使用方法
2019独角兽企业重金招聘Python工程师标准>>>
刚才研究了一下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'
转载于:https://my.oschina.net/kt431128/blog/224713
oracle XMLType字段使用方法相关推荐
- oracle改类型吗,详解Oracle修改字段类型方法总结
最近学习了Oracle修改字段类型方法,留做记录. 有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter tab ...
- oracle修改字段详解,详解Oracle修改字段类型方法总结
最近学习了Oracle修改字段类型方法,留做记录. 有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行: sql;" ...
- Oracle修改字段类型方法
为什么80%的码农都做不了架构师?>>> 有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行: al ...
- oracle 修改字段类型方法
因为业务需要,修要修改某个字段数据类型有number(5),变为number(5,2)型 要是没有数据的话直接用以下语句即可 alter table tb_test modify permile ...
- Oracle修改字段类型方法总结
有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarcha ...
- oracle调整字段精度的四种方法
oracle调整字段精度的四种方法: 01_执行用户_ddl/dml_表名_注释(建表/授权/同义词) 调整方式一:(精度只能调大不能调小) alter table table_name_a MODI ...
- db2主键自增和oracle,oracle_浅析常用数据库的自增字段创建方法汇总,DB2复制代码 代码如下:CREATEnbsp - phpStudy...
浅析常用数据库的自增字段创建方法汇总 DB2 CREATE TABLE T1 ( id INTEGER NOT NULL GENERATED ALWAYS AS IDENTIT ...
- oracle Blob保存方式,关于文件保存到Oracle中BLOB字段的方法及例子
关于文件保存到Oracle中BLOB字段的方法及例子 ------------------------------------------- public class FileOpClass { pu ...
- django oracle数据库配置,django连接oracle时setting 配置方法
下一步是将新创建的应用程序与项目相关联.为此,您需要编辑 myproj 文件夹中的 settings.py 文件,将字符串"myproj.myapp"追加到 INSTALLED_A ...
最新文章
- matlab 向量模量,有限元分析简单实例之平面矩形薄板(matlab)
- Java问题解决:Java compiler level does not match the version of the installed Java project facet....
- 2021春季每日一题 【week2 未完结】
- [2018.12.26]BZOJ1022 [SHOI2008]小约翰的游戏John
- [转]CDN(内容分发网络)技术原理
- 如何解包/编辑/打包boot.img文件
- Mysql大数据中表分区的应用
- 操作系统之进程管理:18、预防死锁
- linux内核 panic,linux 内核 panic
- 7-30 字符串的冒泡排序 (20 分) or 7-27 冒泡法排序 (20 分)
- 中国特种电器灯泡行业市场供需与战略研究报告
- 雅虎的用户注册页面抽风了
- pandas的两种数据类型:Series和DataFrame
- 预测模型——灰色模型
- 计算机平面设计要学语数英吗,《计算机平面设计与制作》课程标准规范.doc
- 水晶易表 Xcelsius 2008 安装指南学习资源
- 微信小程序引入组件以及catchtouchmove实现拖动效果
- Python3不存在raw_input( )了
- android studio虚拟机无法启动 The system requirements are not satisfied、vmx enabled no、vmx supported no
- mysql 派生表 索引_MySQL 索引初探
热门文章
- mysql5.7初始密码查看及密码重置
- libevent项目分析(一) -- 准备阶段
- 《STL源码剖析常见面试问题》
- MySQL千万数据量深分页优化
- 连接sqlexpress
- OpenGL中的二维编程——从简单的矩形开始
- 【AC自动机】【数据结构】【树】【Aho-Corasick automation】AC自动机理解(入门)...
- 【链表】Add Two Numbers
- SPOJ SORTBIT Sorted bit squence (数位DP,入门)
- 4、Cocos2dx 3.0三,找一个小游戏开发Hello World 分析