Oracle 8i以后的版本: 一个表只能有一个LONG ,或 LONG RAW列,但可以有多个LOB列(BLOB,CLOB)。 VARCHAR2数据类型 支持可变长度的字符串,也可以存储字母数字值。该数据类型的大小在1至4000个字节范围内。 LONG数据类型 此数据类型用来存储可变长度字符数据,最多能存储2GB。LONG数据类型用来存储VARCHAR2数据类型不能存储的长文本信息。其长度受到计算机上可用存储空间的限制。 在表中的某列上设置LONG数据类型时,需要遵循以下限制。 l 一个表中只有一个列可以为LONG数据类型。 l LONG列不能定义为唯一约束或主键约束。 l LONG列上不能建立索引。 l 过程或存储过程不能接受LONG数据类型的参数。 LONG RAW数据类型 LONG RAW数据类型用于存储可变长度的二进制数据,最多能存储2GB。该数据类型不能索引。此外,LONG数据类型受到的所有限制对LONG RAW数据类型也同样有效。 LOB数据类型 LOB又称为“大对象”数据类型。该数据类型可以存储多大4GB的非结构化信息,如声音剪辑和视频剪辑等。它们允许对数据进行高效、随机、分段的访问。LOB可以是外部的,也可以是内部的,这取决于它们相对于数据库的位置。 Oracle中的LOB数据类型有CLOB、BLOB和BFILE。 ? CLOB CLOB代表Character LOB(字符LOB),它能够存储大量字符数据。该数据类型可以存储单字节字符数据和多字节字符数据。CLOB可用于存储非结构化的XML文档。 ? BLOB BLOB代表Binary LOB(二进制LOB),它可以存储较大的二进制对象,如图形、视频剪辑和声音剪辑等。 ? BFILE BFILE代表Binary File(二进制文件),它能够将二进制文件存储在数据库外部的操作系统文件中。BFILE列存储一个BFILE定位器,它指向位于服务器文件系统上的二进制文件。支持的文件最大为4GB。 Oracle中的表可以有多个LOB列,每个LOB列可以是不同的LOB类型。