Oracle11g R2学习系列 之八高级数据类型
所谓的高级数据类型,就是大数据类型,即BCNB(助记词:BC牛逼)+XML数据类型。
B:blob,用来存储可变长度的二进制数据。
C:clob,主要用来存储可变长度的字符型数据,也就是其他数据库中提到的文本型数据类型。
N:nclob,跟CLOB数据类型相似,也是用来存储字符类型的数据,不过其存储的是Unicode字符集的字符数据。
B:bfile,在数据库外面存储的可变二进制数据,最大可存储4G内容。
在dbms_lob包中内建了read()、append()、write()、erase()、copy()、getlength()、substr()等函数,可以方便地操作LOB对象
XML:xpath,xquery. 而xquery中最有特色的是FLWOR(发音同flower)表达式。FLWOR实际上是“For,Let,Where,Order by,Return”的缩写.包含模式匹配、过滤选择和结果构造这三种操作。感觉有点jquery的意味,选择,然后操作。只不守flwor似乎只有选择得到结果的意味。
输入以下代码来体验一下flwor表达式,先创建一个有XMLType的表,然后插入一些数据,最后我想查询出第二条note的内容。
create table table_notes(noteitem xmltype); insert into table_notes values('<notes>
<note id="1">
<to>wang</to>
<from age="20">zhang</from>
<heading>Reminder</heading>
<body>Don not forget me this weekend!</body>
<number>12</number>
</note>
<note id="2">
<to>liu</to>
<from age="30">li</from>
<heading>Reminder</heading>
<body>Don not forget me this weekend!</body>
<number>12</number>
</note>
</notes>'); select xmlquery('for $ageof in /notes/note
where $ageof/@id="2"
return string($ageof)'
passing noteitem returning content) noteitem
from table_notes;
结果显示如下:
Oracle11g R2学习系列 之八高级数据类型的更多相关文章
- Oracle11g R2学习系列 之二基本概念和环境介绍
昨天安装好了之后,发现用Chrome打开OEM发现是英文的,搞得我好奇怪:安装时明明自动显示的是中文的,为何会是英文的呢.后来想想会不会是Oracle用的是浏览器的语言呢,果断打开Chrome的设置, ...
- Oracle11g R2学习系列 之九 PL/SQL语言
这是个重头戏,如果精通了PL/SQL,毫不夸张的说明精通了Oracle了.PL/SQL由以下三个部分组成(Definition,Manipulation,Control): DDL:数据定义语言,Cr ...
- Oracle11g R2学习系列 之七安全性
其实,对于目前我使用的Oracle的水平来看,还达不到使用安全管理的高度,只是作为一个学习来看一下. 关于Oracle的安全管理,一般使用OEM来操作完成好了,入口是:OEM的“服务器”属性页中,选择 ...
- Oracle11g R2学习系列 之一安装篇
前言 最近想去前同事推荐的一个Oracle相关的岗位竞争一下,由于之前没有使用Oracle的相关经验,所以决定学习一下,就算最终岗位应聘不成,至少也有了一些Oracle经验了,说不定哪天就用上了.再说 ...
- Oracle11g R2学习系列 之十 解决EM不能用
不知道是什么原因https://localhost:1158/em,今天突然就不能用了.做了好多搜索也没有解决.现象是在services.msc中,不能重启OracleDBConsole服务,提示: ...
- Oracle11g R2学习系列 之六数据库链接,快照及序列
Create public database link link_name Connect to user identified by password using 'DBName' 为'DBName ...
- Oracle11g R2学习系列 之五回闪
Oracle里面有一个回闪的操作,这个貌似sql server是没有的.要使用这个功能,需要用到两个时间内部函数 TIMESTAMP和TO_TIMESTAMP.其中,函数TO_TIMESTAMP的语法 ...
- Oracle11g R2学习系列 之四Maven+Struts+Spring实验
今天试一下Java调用Oracle来看一下.会不会也如昨天实验的一样坑呢?由于我对于Java也接触的不多,所以不打算直接使用该收提供的实验文档,而是自己利用Maven+Struts+Spring来自己 ...
- Oracle11g R2学习系列 之三教程选择
工欲善其事必先利其器,选择一本入门教程也是很重要的,本人使用的也是这位同事推荐的电子工业出版社的<<Oracle 实用教程(第3版)>>郑阿奇主编,可以至这里购买到,我个人还是 ...
随机推荐
- MVC 4.0 Razor模板引擎 @Html.RenderPartial 与 @Html.RenderAction 区别
近来在学习MVC 4.0,设置布局全局网页的页脚,使用了Razor语法 @{ Html.RenderPartial("Footer", Model.FooterData); } 但 ...
- 基类方法的反隐藏 反private 秘籍
class GoodStudent:private Mentor,private Student { public : using Mentor::GetInfo; ///------------ ...
- windows下重命名一个带有前缀"."dot字符的名字的错误问题
如果用正常的右键重命名那么肯定会报错的,比如: 有一个名为project的文件,我想把它命名为.project,加了个前缀dot.然后window就报错了,弹出个对话框让“你必须输入一个文件名”.它可 ...
- logstash nginx 报ArgumentError: comparison of String with 5 failed
80.82.78.38 [23/Sep/2016:05:36:18 +0800] "GET http://www.baidu.com/cache/global/img/gs.gif HTTP ...
- 管理TEMP数据
SQL> select * from v$mystat where rownum<2; SID STATISTIC# VALUE ---------- ---------- ------- ...
- c语言for语句
首先呢 for语句是由4部分组成 for(表达式1;表达式2;表达式3) 循环体: 注意 1:循环中的表达式用;隔开 表达式1通常用来呢赋初值 表达式2通常用来循环控制也就是循环条件 表达式3通常就是 ...
- <PHP>字符串处理代码
字符串处理: strlen("aaa");取字符串的长度 *** strcmp("aaa","aaa");比较两个字符串 ...
- uiautomatorviewer 可以查看到android中的web 元素信息
以知乎社区账号登录使用微博账号为例,使用uiautomatorviewer 可以定位到登录框.密码框,需要结合appium的inspector 1.genymotion 模拟器开启,模拟器安卓系统为4 ...
- 如何安装CocoaPods
转自 http://www.99css.com/1321/ 在 iOS 项目开发中,经常会用到第三方的源代码,CocoaPods 就是为了方便管理这些源码的工具. 在官方教程里面,安装看起来非常简单 ...
- WAS集群系列(6):集群搭建:步骤4:安装WAS升级软件
逐步点击"下一步",注意一处流程,例如以下列举: "升级软件"安装的路径设置,建议与之前的WAS及IHS安装的绝对路径同样,例如以下所看到的: 逐步点击,完毕安 ...