oracle如何查询xml啊 xmltype数据如下
<root>
<item>
<name>xuxuna </name>
<id> 1</id>
</item>
<item>
<name>lisi </name>
<id> 2</id>
</item>
</root>
查询结果为:
name id
------------------------------
xuxuna 1
lisi 2
OracleXML
解决方案 »
- 要学oracle DBA ,先不考COP,以后才考,目前学了一点基础,想要再深入,得买什么书好?
- 为什么在oracle数据库中直接输入韩文,总是显示????,但直接输入日文、俄文都正常?急急,是不是oracle字符集配置的问题,该如何解决。。。谢谢
- oracle 存储过程是否可以使用多个游标
- 情人节...加班中...散分!!!
- oracle中select是否有与SQLServer top 10 percent相现的功能?
- 怎样显示条件以外的内容!!!!
- PL/SQL中的HINT问题?
- 怎么做数据库登录用户的查询?
- 请问sqlplus如何登陆到远程服务器上
- oracle9i超级用户的密码忘记了,该怎么办呢?
- 本地数据库如何配置啊
- oracle 查询求助!!
Oracle提供xmltype用于XML数据的存储
例:
/**创建见表语句**/
create table xml_books(book_id number(5), xml_data xmltype);
/**插入数据**/
insert into xml_books values(1, xmltype('<book><title>来吧来吧,相约98</title><price>20</price></book>'));
XML数据的操作
existsnode() 用XPATH定位XML中的表达式
extract() 抽取XML中的节点
extractvalue() 取出XML中节点的值
Updatexml() 用于更新XML数据的属性,节点和节点文本值
/**查询"来吧来吧,相约98"书的价格**/
select extractvalue(xml_data,'/book/price') from xml_books b where existsnode(xml_data,'/book/title="来吧来吧,相约98" ')=1;
select extract(xml_data, '/book/name') from xml_books;
update xml_books set xml_data= updatexml (xml_data,'/book/price/text()',100) where existsnode(xml_data,'/book/title="过把瘾" ')=1;
Create or replace view vw_book(name) as select extractvalue(xml_data, ‘book/title’) from xml_books;