当前位置:数据库 > Oracle >>

Oracle二进制类型和大对象类型基础

Oracle二进制类型和大对象类型基础
 
一、类型区分 
 
NCLOB 存储单字节的字符数据
 
CLOB 存储多字节的字符数据 
 
BFILE 存储OS文件系统中的二进制文件的指针,文件不存储在数据库里。 
 
BLOB 存储二进制数据 
 
RAW 存储定长二进制数据,需要定义长度,如:
create table t(s raw(2000); 

 

 
LONG RAW 存储可变长二进制数据 
 
二、类型在数据库中的使用 
 
NCLOB 

create table t(id int,cont NCLOB); 

Insert into t(id,cont) values(1,’hello’); 

select * from t; 

ID CONT 

------------------------- 

1 hello 

CLOB 同NCLOB。

BLOB 暂未找到能直接插入的值的方法。

BFILE 

Conn lyy/lyy 

Create table bfiletable(id int,obj BFILE); 

Create or replace directory dir AS ‘d:\’; 

Conn / as sysdba 

Grant read directpry dir to lyy; 

Conn lyy/lyy Insert into bfiletable(id,obj) values(1,filename(‘DIR’,’1.jpg’)); 

Select * from filetable; 

ID OBJ 

------------------------------------------------- 

1 filename(‘DIR’,’1.JPG’) 


RAW  

Create table rawtable(id int,obj raw(2000)); 

Insert into rawtable(id,obj) values(1, uti_raw.cast_to_raw(‘hello’)); 

Select * from rawtable; 

ID OBJ 

 ------------------------------------------------- 

 1 68656C6C6F 



LONG RAW 

Create table lrawtable(id int,obj long raw); 

Insert into lrawtable(id,obj) values(1, uti_raw.cast_to_raw(‘hello’)); 

Select * from lrawtable; 

ID OBJ 

------------------------------------------------- 

1 6

 

 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,