设为首页 加入收藏

TOP

Oracle 中LONG RAW BLOB CLOB类型介绍(二)
2015-11-10 12:17:17 来源: 作者: 【 】 浏览:5
Tags:Oracle LONG RAW BLOB CLOB 类型 介绍
ng_test values(1,'hello world');


已创建 1 行。


SCOTT@orcl> commit;


提交完成。


SCOTT@orcl> select * from long_test where msg='123';
select * from long_test where msg='123'
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *
第 1 行出现错误:
ORA-00997: 非法使用 LONG 数据类型



SCOTT@orcl> /


? ? ? ? ID MSG
---------- --------------------------------------------------------------------------------
? ? ? ? 1 hello world


SCOTT@orcl> select id, trim(msg) from long_test where id = 1;
select id, trim(msg) from long_test where id = 1
? ? ? ? ? ? ? ? *
第 1 行出现错误:
ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 LONG3、CLOB
可以使用CLOB类型大块的字符数据。每一个CLOB变量存储一个定位器,指向一个大块字符数据。


CLOBs participate fully in transactions, are recoverable, and can be replicated. Changes
made by package DBMS_LOB can be committed or rolled back. CLOB locators can span
transactions (for reads only), but they cannot span sessions.


CLOB参与整体事务,可恢复,并且可以重复。
由DBMS_LOB包改变的数据可以提交和回滚。CLOB定位器可以跨事务,但不能跨会话。


4、BLOB
You use the BLOB datatype to store large binary objects in the database, in-line or
out-of-line. Every BLOB variable stores a locator, which points to a large binary object.
BLOBs participate fully in transactions, are recoverable, and can be replicated. Changes
made by package DBMS_LOB can be committed or rolled back. BLOB locators can span
transactions (for reads only), but they cannot span sessions.


用于存储大二进制对象,BLOB参与整体事务,可恢复,并且可以重复。
由DBMS_LOB包改变的数据可以提交和回滚。BLOB定位器可以跨事务,但不能跨会话。


drop table blob_test;


SCOTT@orcl>? create table blob_test(? id number primary key,? content blob not null);


表已创建。


SCOTT@orcl> insert into blob_test values(1,'11111000011111');


已创建 1 行。


SCOTT@orcl> commit;


提交完成。


SCOTT@orcl> select * from blob_test;


SCOTT@orcl> set linesize 2000
SCOTT@orcl> /


? ? ? ? ID CONTENT
---------- -----------------------------------
? ? ? ? 1 11111000011111



SCOTT@orcl> insert into blob_test values(1,'11111000011111>');
insert into blob_test values(1,'11111000011111>')
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *
第 1 行出现错误:
ORA-01465: 无效的十六进制数字



?SCOTT@orcl> update blob_test set content=to_blob('110010000110011') where id=1;


已更新 1 行。


SCOTT@orcl> rollback
? 2? ;


回退已完成。


SCOTT@orcl> select * from blob_test;


? ? ? ? ID CONTENT
---------- ---------------------------------------------------------------------
? ? ? ? 1 11111000011111


?delete from blob_test where id=1;
?commit;


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle创建外部表 下一篇Oracle设置和删除不可用列

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: