ITPub博客

首页 > Linux操作系统 > Linux操作系统 > LOB

LOB

原创 Linux操作系统 作者:philip_123456 时间:2010-08-08 19:47:03 0 删除 编辑

 

  • LOBs 可以作为对象类型的属性;

  •  LOB定位器存储在表的列中,不论有无值。 BLOB, NCLOB, and CLOB 的值可以存储在独立的表空间中。. BFILE存储在数据库系统之外。

  • 存取LOB 是,返回定位器;

  • LOB可以存放4G数据;. BFILE 最多232-1 字节。

  • LOBs支持有效的,随机和位存取。

  • 一张表可以包含多个 LOB列。

  • 一个对象可以定义多个LOB属性(NCLOB除外)

  • 可以声明LOB绑定变量.

  • 可以select LOB对象和 LOB列 .

  • 可以插入或更新表或对象中的一列或多列LOB。在更新时,可以将LOB置为NULL或者替换原来的值。可以将BFILE置为 NULL或者指向不同的文件.

  • 删除LOB 时,同时也将删除数据。但BFILE所指向的文件不会被删除。

 

   约束包括:

1.不能设置为主键;

2.Create table as select or insert as select

   CREATE TABLE t AS SELECT * FROM table1@remote_site;
   INSERT INTO t SELECT * FROM table1@remote_site;

3,函数

  CREATE TABLE tab AS SELECT DBMS_LOB.GETLENGTH@dbs2(clob_col)   len FROM tab@dbs2;
  CREATE TABLE tab AS SELECT LENGTH(clob_col) len FROM tab@dbs2;

  但dblink中不能返回LOB.如
CREATE TABLE tab AS SELECT DBMS_LOB.SUBSTR(clob_col) from tab@dbs2; --不支持,因为substr返回LOB对象。

4.可和char,varchar2转换

INSERT INTO table1@remotesite (lobcol) VALUES ('test');

5.聚簇不能包含LOB

6.不能用于ORDER BY . GROUP BY. SELECT... DISTINCT .SELECT... UNIQUE 或者join

7.不能在ANALYZE... COMPUTE or ANALYZE... ESTIMATE 指定LOB列

8.LOB段的initial extent必须包含至少3个数据块

9. 不能在 UPDATE OF中指定LOB列

10 不能为LOB 创建索引,但可以用于组合索引,TEXT中也可以创建CLOB索引。

11. INSERT... AS SELECT 的LOB列最多只能包含4000字节

12 假如一张表同时包含LONG和LOB 列,不能在同一SQL语句中为LONG和LOB绑定4000字节大的数据 . 但单独为LONG或者LOB可以绑定超过4000字节的数据;




 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20648244/viewspace-670542/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Long类型的约束
下一篇: sql* plus 基本命令
请登录后发表评论 登录
全部评论

注册时间:2010-07-10

  • 博文量
    8
  • 访问量
    13663