oracle Long数据类型总结

--概述

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


  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值