所谓的高级数据类型,就是大数据类型,即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学习系列 之八高级数据类型的更多相关文章

  1. Oracle11g R2学习系列 之二基本概念和环境介绍

    昨天安装好了之后,发现用Chrome打开OEM发现是英文的,搞得我好奇怪:安装时明明自动显示的是中文的,为何会是英文的呢.后来想想会不会是Oracle用的是浏览器的语言呢,果断打开Chrome的设置, ...

  2. Oracle11g R2学习系列 之九 PL/SQL语言

    这是个重头戏,如果精通了PL/SQL,毫不夸张的说明精通了Oracle了.PL/SQL由以下三个部分组成(Definition,Manipulation,Control): DDL:数据定义语言,Cr ...

  3. Oracle11g R2学习系列 之七安全性

    其实,对于目前我使用的Oracle的水平来看,还达不到使用安全管理的高度,只是作为一个学习来看一下. 关于Oracle的安全管理,一般使用OEM来操作完成好了,入口是:OEM的“服务器”属性页中,选择 ...

  4. Oracle11g R2学习系列 之一安装篇

    前言 最近想去前同事推荐的一个Oracle相关的岗位竞争一下,由于之前没有使用Oracle的相关经验,所以决定学习一下,就算最终岗位应聘不成,至少也有了一些Oracle经验了,说不定哪天就用上了.再说 ...

  5. Oracle11g R2学习系列 之十 解决EM不能用

    不知道是什么原因https://localhost:1158/em,今天突然就不能用了.做了好多搜索也没有解决.现象是在services.msc中,不能重启OracleDBConsole服务,提示: ...

  6. Oracle11g R2学习系列 之六数据库链接,快照及序列

    Create public database link link_name Connect to user identified by password using 'DBName' 为'DBName ...

  7. Oracle11g R2学习系列 之五回闪

    Oracle里面有一个回闪的操作,这个貌似sql server是没有的.要使用这个功能,需要用到两个时间内部函数 TIMESTAMP和TO_TIMESTAMP.其中,函数TO_TIMESTAMP的语法 ...

  8. Oracle11g R2学习系列 之四Maven+Struts+Spring实验

    今天试一下Java调用Oracle来看一下.会不会也如昨天实验的一样坑呢?由于我对于Java也接触的不多,所以不打算直接使用该收提供的实验文档,而是自己利用Maven+Struts+Spring来自己 ...

  9. Oracle11g R2学习系列 之三教程选择

    工欲善其事必先利其器,选择一本入门教程也是很重要的,本人使用的也是这位同事推荐的电子工业出版社的<<Oracle 实用教程(第3版)>>郑阿奇主编,可以至这里购买到,我个人还是 ...

随机推荐

  1. Flask学习记录之Flask-Admin

    相信用过Django框架的都不会忘记它强大的Admin功能,Flask-admin是一款能够与Django Admin所媲美的扩展,能够快速创建Web管理界面,实现了用户.文件增删改查等常用功能:也可 ...

  2. 利用redis协助mysql数据库搬迁

    最近公司新项目上线,需要数据库搬迁,但新版本和老版本数据库差距比较大,关系也比较复杂.如果用传统办法,需要撰写很多mysql脚本,工程量虽然不大,但对于没有dba的公司来说,稍微有点难度.本人就勉为其 ...

  3. 关于body/documentElement ---->clientHeight, offsetHeight, scrollHeight

    http://blog.csdn.net/woxueliuyun/article/details/8638427 http://blog.sina.com.cn/s/blog_9dd702d50101 ...

  4. FJ省队集训DAY4 T2

    XXX #include<cstdio> #include<iostream> #include<cmath> #include<cstring> #i ...

  5. photoshop sdk

    http://blogs.adobe.com/photoshop/2013/09/introducing-adobe-generator-for-photoshop-cc.html

  6. 【转】关于Adapter的The content of the adapter has changed问题分析 关于Adapter的The content of the adapter has changed问题分析

    原文网址:http://www.cnblogs.com/monodin/p/3874147.html 1.问题描述 1 07-28 17:22:02.162: E/AndroidRuntime(167 ...

  7. hdu4641-K-string(后缀自动机)

    Problem Description Given a string S. K-string is the sub-string of S and it appear in the S at leas ...

  8. pyglet: a cross-platform windowing and multimedia

    pyglet pyglet: a cross-platform windowing and multimedia library for Python.

  9. javascript对URL中的参数进行简单加密处理

    javascript的api本来就支持Base64,因此我们可以很方便的来进行编码和解码. var encodeData = window.btoa("name=xiaoming&a ...

  10. pyqt时间

    # -*- coding: utf-8 -*-__author__ = 'Administrator'from PyQt4 import QtCore, QtGui class Help(QtGui. ...