永发信息网

关于Oracle 的问题?

答案:2  悬赏:80  手机版
解决时间 2021-08-01 07:36
关于Oracle 的问题?
最佳答案

大致就是:oracle从9i开始支持一种新的数据类型---- xmltype,用于存储和管理xml数据,并提供了很多的functions,用来直接读取xml文档和管理节点。


举些例子:


1.建立含有xmltype数据类型的表
create table abc (id number,xmldoc sys.xmltype);
声明xmltype型字段用:sys.xmltype

2.向带有xmltype类型的表插入带有数据
insert into abc (id,xmldoc) value (abc.nextval , sys.xmlType.createXML(''<name><a id="1" value="some values">abc</a></name>'') );
插入用 sys.xmlType.createXML(''some xml doc'')

3.直接查询xmltype字段里面的内容
得到id=1的value变脸的值
select i.xmldoc.extract(''//name/a[@id=1]/@value'').getStringVal() as ennames, id from abc i



得到a节点的值
select id, i.xmldoc.extract(''//name/a/text()'').getStringVal() as truename from abc i


得到节点id属性的值


Select hd.Data_t.extract(''/root/name/@id'').getStringVal() As Name FROM sehr_house_data hd

4.更新xmltype里面的数据
update abc set xmldoc=updateXML(xmldoc,''//name/a[@id=1]/@value'',''some new value'') where ......
(注意:如果里面没有<a id="1">这个节点,将不能update)

5.添加超过4k字节的xml文档到xmltype型字段
可以通过使用临时表的办法实现:
先建立一个临时的表,其中的一个字段是clob类型;
再将要写入xmltype字段的xml doc写入这个临时的clob型的字段中;
最后insert into abc (id,xmldoc) values (abc_q.nextval , sys.xmlType.createXML((select content from 临时表 where id=......)));



希望对你有帮助!

全部回答

就是说Oracle 9i数据库支持原生的XML数据类型

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
当你最无助痛苦时,你会想到谁?
为什么去算命居然那么准?
马和驴杂交产生的骡子,不能繁衍后代的原因是?
前进区佳木斯晓芹海参地址有谁知道?有点事想
先了解再见面,或反之,哪个好,为什么
鬼泣4荣誉之魂怎么挣比较快
2009年12月06日彩票号多少
如何在soso上创建我的图片册?
炎麻护肩通常在哪里最容易爆出来
请问各位大大,大学班主任是干什么的啊?
咸丰县恩施咸丰县公安局地址有谁知道?有点事
怎么去掉毛孔
解放区焦作龙杰大酒店(电厂西路店)这个地址在
对小学生的期末寄语,适合中小学生的励志名言
网上邻居属性,本地连接属性,internet协议(tcp
推荐资讯
洪山区武汉联合一百在哪里啊,我有事要去这里
为什么大头儿子的头比小头爸爸的小呢?
raptr是什么意思
贵宾犬呕吐了几次,后来就不吃饭了,是怎么回
兜里还有四元钱 箱子里还有四盒牛奶 两个桔子
亲爱的敌人中朴老师的 手机铃声叫什么?
有谁知道,怎样才能用手机开通QQ空间黄钻?怎
利川市恩施以纯(警苑小区东北)地址在哪里啊
富拉尔基区齐齐哈尔万福香黄金肉松饼.蒸蛋糕
什么是借贷,网络借贷的起源
我已设置了健康模式,怎么还有人能在我农场偷
佩妮蕾德美体用品
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?