--概述
SELECT * FROM t_20160315;
1.存储可变长字符串,最大长度为2G
2.对于超出一定长度的文本,基本上用long型存储,比如数据字典表中的许多字段
SELECT * FROM All_Tab_Cols a WHERE a.data_type='LONG';
3.long型主要用于不需要字符串搜索操作的长串数据,如果需要字段搜索就需要使用varchar2类型
4.很多工具,包括sqlplus等,处理long型数据都比较困难
5.long型数据的使用受限于磁盘的大小
--sql使用场景
1.select语句
2.update中set语句
3.insert中VALUES语句
SELECT * FROM t_20160315;
INSERT INTO t_20160315 VALUES(1,'test');
SELECT * FROM t_20160315;
UPDATE t_20160315 a SET a.test='test1';
--限制场景
1.一个table只能有一个long数据类型
ALTER TABLE t_20160315 ADD test1 VARCHAR2(8);
2.不能索引long数据类型的列
SELECT * FROM t_20160315;
CREATE INDEXidx_sys_20160315_test ON t_20160315(test);
3.不能将含有long类型列的表做聚簇
4.不能再sqlplus中将long型列的值插入到另一张表中
CREATE TABLE t_20160315a(ID NUMBER,TEST LONG);
SELECT * FROM t_20160315a;
INSERT INTO t_20160315a SELECT ID,TEST FROM t_20160315;
5.不能在sqlplus中通过select 的方式创建Long类型的列
CREATE TABLE t_20160315b AS SELECT * FROM t_20160315;
6.不能在long列中加约束条件(除了null,NOT NULL,DEFAULT之外),如,关键字列不能是long列
SELECT * FROM t_20160315;
7.long类型的列不用用于select的以下子句中,GROUP BY ,ORDER BY ,WHERE ,以及带有distinct的语句中
SELECT DISTINCT TEST FROM t_20160315;
SELECT * FROM t_20160315 ORDER BY TEST;
8.long类型的列不能用于分布查询
9.plsql过程的变量不能定义为long类型
10.Long类型的列不能被sql函数改变,如substr,INSTR