zoukankan
html css js c++ java
数据库运用XML操作
1
. xml
index
alter
table
orders
add
constraint
pk_orders_orderid
primary
key
clustered
(orderid)
create
primary
xml
index
xidx_details
on
orders(details)
create
xml
index
xidx_details_path
on
orders(details) using xml
index
xidx_details
for
path
create
xml
index
xidx_details_property
on
orders(details) using xml
index
xidx_details
for
property
create
xml
index
xidx_details_value
on
orders(details) using xml
index
xidx_details
for
value
2
. Demo XML表达式查询
declare
@mydoc
xml
set
@mydoc
=
'
<AAA>
<BBB/>
<BBB/>
<CCC>
<DDD/>
<BBB>
<EEE/>
</BBB>
</CCC>
</AAA>
'
select
@mydoc
.query(
'
//BBB
'
)
select
@mydoc
.query(
'
//BBB[1]
'
)
select
@mydoc
.query(
'
/AAA/BBB[1]
'
)
select
@mydoc
.query(
'
/AAA/BBB[last()]
'
)
declare
@mydoc
xml
set
@mydoc
=
'
<AAA>
<BBB ID="1"/>
<BBB ID="2"/>
<CCC>
<DDD/>
<BBB ID="3">
<EEE/>
</BBB>
</CCC>
</AAA>
'
select
@mydoc
.query(
'
/AAA/BBB[@ID="1"]
'
)
select
@myDoc
.query(
'
/bookstore/book/title
'
)
查询条件可以是attribute, 也可以是element,如下是element示例
select
@myDoc
.query(
'
/bookstore/book[price>30]
'
)
3
. FLOWER
declare
@myDoc
xml
set
@myDoc
=
'
<AAA>
<BBB ID=" 1" />
<BBB ID="1" />
<BBB NAME="NAME1"/>
<CCC ID="1">
<DDD/>
<BBB>
<EEE ID="1"/>
</BBB>
<BBB/>
</CCC>
</AAA>
'
select
@myDoc
.query(
'
for $id in /AAA/BBB
return $id
'
)
declare
@myDoc
xml
set
@myDoc
=
'
<AAA>
<BBB>HELLO</BBB>
<BBB>Welcome</BBB>
<BBB NAME="NAME1"/>
<CCC ID="1">
<DDD/>
<BBB>OK
<EEE ID="1"/>
</BBB>
<BBB/>
</CCC>
</AAA>
'
select
@myDoc
.query(
'
for $id in //BBB
return <result>{data($id)}</result>
'
)
declare
@myDoc
xml
set
@myDoc
=
'
<bookstore>
<book category="COOKING">
<title>Everyday</title>
<author>Giade De</author>
<price>30.00</price>
</book>
<book category="COMPUTER">
<title>Windows 2003</title>
<author>Mike</author>
<price>50.00</price>
</book>
<book category="SOFTWARE">
<title>VS.NET2003</title>
<author>Mike</author>
<price>90.00</price>
</book>
</bookstore>
'
select
@myDoc
.query(
'
/bookstore/book/title
'
)
--
---------------------------
select
@myDoc
.query(
'
/bookstore/book[price>30]
'
)
select
@myDoc
.query(
'
for $x in /bookstore/book
where $x/price>30
return $x/title
'
)
select
@myDoc
.query(
'
for $x in /bookstore/book/title
order by $x
return $x
'
)
select
@myDoc
.query(
'
for $x in /bookstore/book/title
return <li>{data($x)}</li>
'
)
select
@myDoc
.query(
'
for $x in /bookstore/book/title
order by $x
return <li>{data($x)}</li>
'
)
value查询
declare
@myDoc
xml
set
@myDoc
=
'
<bookstore>
<book category="COOKING" id="1" >
<title>Everyday</title>
<author>Giade De</author>
<price>30.00</price>
</book>
<book category="COMPUTER" id="2" >
<title>Windows 2003</title>
<author>Mike</author>
<price>50.00</price>
</book>
<book category="SOFTWARE" id="3" >
<title>VS.NET2003</title>
<author>Mike</author>
<price>90.00</price>
</book>
</bookstore>
'
select
@myDoc
.value(
'
(/bookstore/book/@id)[1]
'
,
'
int
'
)
exist查询
select
@myDoc
.exist(
'
/bookstore/book/title="VS.NET2003"
'
)
select
@myDoc
.exist(
'
/bookstore/book[@id=1]
'
)
结果集中绑定表中列
select
orderid,
'
L01
'
as
ProductID,Customer,
Details.query(
'
<OrderDetails>
<Customer>{sql:column("Customer")}</Customer>
{
for $x in //row
return $x
}
</OrderDetails>
'
)
from
orders
4
.修改XML
INSERT
declare
@doc
xml
set
@doc
=
'
<Products></Products>
'
set
@doc
.modify(
'
insert (<Product><ID>L01</ID><Name>LL01</Name></Product>)
into (/Products)[1]
'
)
set
@doc
.modify(
'
insert (<Product><ID>L02</ID><Name>LL02</Name></Product>)
as first into (/Products)[1]
'
)
set
@doc
.modify(
'
insert (<Product><ID>L03</ID><Name>LL03</Name></Product>)
as last into (/Products)[1]
'
)
set
@doc
.modify(
'
insert attribute Price {"20.50"} into (/Products/Product)[1]
'
)
select
@doc
--
----------------------------------------
DELETE
declare
@myDoc
xml
set
@myDoc
=
'
<bookstore>
<book category="COOKING" id="1" >
<title>Everyday</title>
<author>Giade De</author>
<price>30.00</price>
</book>
<book category="COMPUTER" id="2" >
<title>Windows 2003</title>
<author>Mike</author>
<price>50.00</price>
</book>
<book category="SOFTWARE" id="3" >
<title>VS.NET2003</title>
<author>Mike</author>
<price>90.00</price>
</book>
</bookstore>
'
set
@mydoc
.modify(
'
delete (/bookstore/book[@id="1"])
'
)
--
------------------------------------
set
@mydoc
.modify(
'
delete (/bookstore/book[@id="1"])[1]
'
)
--
--------------------------------------
set
@mydoc
.modify(
'
delete (/bookstore/book/price)[1]
'
)
--
--------------------------
set
@mydoc
.modify(
'
delete (/bookstore/book/price/text())[1]
'
)
--
---------------------------
REPLACE
update
text
:
set
@mydoc
.modify(
'
replace value of (/bookstore/book/price/text())[1] with "99.50"
'
)
update
attribute:
set
@mydoc
.modify(
'
replace value of (/bookstore/book/@id)[1] with "10"
'
)
--
----------
set
@mydoc
.modify(
'
replace value of (/bookstore/book/@id)[1]
with(
if(/bookstore/book[@id="1"]) then
"10"
else
"100"
)
'
)
查看全文
相关阅读:
基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.1创建虚拟机
基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:1.资源准备
基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.1.系统界面报错Gnome
基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.6.重新配置与缷载11R2 Grid Infrastructure
基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.5.安装Grid,创建ASM磁盘组空间不足
基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.4.无法图形化安装Grid Infrastructure
基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.3.Oracle 集群节点间连通失败
基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.2.Oracleasm Createdisk ASM磁盘失败:Instantiating disk: failed
【官方文档】Nginx负载均衡学习笔记(二)负载均衡基本概念介绍
【精选】Nginx负载均衡学习笔记(一)实现HTTP负载均衡和TCP负载均衡(官方和OpenResty两种负载配置)
原文地址:https://www.cnblogs.com/ghd258/p/260707.html
最新文章
【GoLang】GoLang 微服务、开源库等参考资料
【VirtualBox】VirtualBox的桥接网络模式,为啥网络不稳定?
【Docker】来自官方映像的 6 个 Dockerfile 技巧
【Network】一张图看懂 Reactor 与 Proactor 模型的区别
【Python】 Django 怎么实现 联合主键?
【架构】研究谷歌和亚马逊的微服务案例,我们能学习到的经验
【Python】python list 迭代删除
【Markdown】notepad++ 支持 markdown语法、预览
关于maven工程打jar的问题
zookeeper学习
热门文章
dubbo学习
服务链路追踪(Spring Cloud Sleuth)
ribbion的负载均衡之端口的切换
configServer的高可用
config配置中心之自动刷新
config之安全(用户认证)
springcloud之config 配置管理中心之配置属性加密解密
浏览器json数据格式化
基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.3配置共享磁盘
基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.2安装操作系统CentOS5.4
Copyright © 2011-2022 走看看