oracle Long数据类型总结

前端之家收集整理的这篇文章主要介绍了oracle Long数据类型总结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转载地址:http://blog.csdn.net/gumengkai/article/details/50900460@H_403_1@


@H_403_1@

--概述@H_403_1@

SELECT*FROMt_20160315;@H_403_1@

1.存储可变长字符串,最大长度为2G@H_403_1@

2.对于超出一定长度的文本,基本上用long型存储,比如数据字典表中的许多字段@H_403_1@

SELECT*FROMAll_Tab_Cols aWHEREa.data_type='LONG';@H_403_1@

3.long型主要用于不需要字符串搜索操作的长串数据,如果需要字段搜索就需要使用varchar2类型@H_403_1@

4.很多工具,包括sqlplus等,处理long型数据都比较困难@H_403_1@

5.long型数据的使用受限于磁盘的大小@H_403_1@

--sql使用场景@H_403_1@

1.select语句@H_403_1@

2.update中set语句@H_403_1@

3.insert中VALUES语句@H_403_1@

INSERTINTOt_20160315VALUES(1,'test');@H_403_1@

UPDATEt_20160315 aSETa.test='test1';@H_403_1@

--限制场景@H_403_1@

1.一个table只能有一个long数据类型@H_403_1@

ALTERTABLEt_20160315ADDtest1VARCHAR2(8);@H_403_1@

2.不能索引long数据类型的列@H_403_1@

CREATEINDEXidx_sys_20160315_testONt_20160315(test);@H_403_1@

3.不能将含有long类型列的表做聚簇@H_403_1@

4.不能再sqlplus中将long型列的值插入到另一张表中@H_403_1@

CREATETABLEt_20160315a(IDNUMBER,TESTLONG);@H_403_1@

SELECT*FROMt_20160315a;@H_403_1@

INSERTINTOt_20160315aSELECTID,TESTFROMt_20160315;@H_403_1@

5.不能在sqlplus中通过select 的方式创建Long类型的列@H_403_1@

CREATETABLEt_20160315bASSELECT*FROMt_20160315;@H_403_1@

6.不能在long列中加约束条件(除了null,NOTNULL,DEFAULT之外),如,关键字列不能是long列@H_403_1@

7.long类型的列不用用于select的以下子句中,GROUPBY,ORDERBY,WHERE,以及带有distinct的语句中@H_403_1@

SELECTDISTINCTTESTFROMt_20160315;@H_403_1@

SELECT*FROMt_20160315ORDERBYTEST;@H_403_1@

8.long类型的列不能用于分布查询@H_403_1@

9.plsql过程的变量不能定义为long类型@H_403_1@

10.Long类型的列不能被sql函数改变,如substr,INSTR@H_403_1@

猜你在找的Oracle相关文章