-
2021-01-14 14:52:51
能够操作 LONG 的 SQL 语句:
1、Select语句
2、Update语句中的SET语句
3、Insert语句中的VALUES语句
限制:
1、一个表中只能包含一个 LONG 类型的列。
2、不能索引LONG类型列。
3、不能将含有LONG类型列的表作聚簇。
4、不能在SQL*Plus中将LONG类型列的数值插入到另一个表格中,如insert into ...select。
5、不能在SQL*Plus中通过查询其他表的方式来创建LONG类型列,如create table as select。
6、不能对LONG类型列加约束条件(NULL、NOT NULL、DEFAULT除外),如:关键字列(PRIMARY KEY)不能是 LONG 数据类型。
7、LONG类型列不能用在Select的以下子句中:where、group by、order by,以及带有distinct的select语句中。
8、LONG类型列不能用于分布查询。
9、PL/SQL过程块的变量不能定义为LONG类型。
10、LONG类型列不能被SQL函数所改变,如:substr、instr。
更多相关内容 -
oracle long类型一个table只能有一个,long类型的限制
2019-11-22 10:23:532.对于超出一定长度的文本,基本上用long型存储,比如数据字典表中的许多字段 SELECT*FROMAll_Tab_Cols aWHEREa.data_type=‘LONG’; 3.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
-
oracle数值类型--LONG类型
2021-01-14 14:52:56Oracle中的LONG类型有两种:LONG文本类型,能存储2GB的文本。与VARCHAR2或CHAR类型一样,存储在LONG类型中的文本要进行字符集转换。LONG RAW类型,能存储2GB的原始二进制数据(不用进行字符集转换的数据)。在此并不...Oracle中的LONG类型有两种:
LONG文本类型,能存储2GB的文本。与VARCHAR2或CHAR类型一样,存储在LONG类型中的文本要进行字符集转换。
LONG RAW类型,能存储2GB的原始二进制数据(不用进行字符集转换的数据)。
在此并不解释如何使用LONG类型,而是会解释为什么你不希望在应用中使用LONG(或LONG RAW)类型。首先要注意的是,Oracle文档在如何处理LONG类型方面描述得很明确。Oracle SQL Reference手册指出:
不要创建带LONG列的表,而应该使用LOB列(CLOB、NCLOB、BLOB)。支持LONG列只是为了保证向后兼容性。
1 LONG和LONG RAW类型的限制
LONG/LONG RAW类型 CLOB/BLOB类型
每个表中只能有一个LONG或LONG RAW列 每个表可以有最多12.000个CLOB或BLOB类型的列
定义用户定义的类型时,不能有LONG/LONG 用户定义的类型完成可以使用CLOB和BLOB类型
RAW类型的属性
不能在WHERE子句中引用LONG类型 WHERE子句中可以引用LOB类型,而且DBMS_LOB包
中提供了大量函数来处理LOB类型
除了NOT NULL之外,完整性约束中不能引用 完整性约束中可以引用LOB类型
LONG类型
LONG类型不支持分布式事务 LOB确实支持分布式事务
LONG类型不能使用基本或高级复制技术来复制 LOB完全支持复制
LONG列不能在GROUP BY、ORDER BY或 只要对LOB应用一个函数,将其转换为一个标量SQL类型,
CONNECT BY子句中引用,也不能在使用了 如VARCHAR2、NUMBER或DATE,LOB就可以出现在
DISTINCT、UNIQUE、INTERSECT、MINUS 这些子句中
或UNION的查询中使用
PL/SQL函数/过程不能接受LONG类型的输入 PL/SQL可以充分处理LOB类型
SQL内置函数不能应用于LONG列(如SUBSTR) SQL函数可以应用于LOB类型
CREATE TABLE AS SELECT语句中不能使用 LOB支持CREATE TABLE AS SELECT
LONG类型
在包含LONG类型的表上不能使用ALTER TABLE MOVE 可以移动包含LOB的表
如果表中有一个LONG列,那么很多事情都不能做。对于所有新的应用,甚至根本不该考虑使用LONG类型。相反,应该使用适当的LOB类型。对于现有的应用,如果受到表12.-2所列的某个限制,就应该认真地考虑将LONG类型转换为相应的LOB类型。由于已经做了充分考虑来提供向后兼容性,所以编写为使用LONG类型的应用也能透明地使用LOB类型。
2 处理遗留的LONG类型
“那如何考虑Oracle中的数据字典呢?“数据字典中散布着LONG列,这就使得字典列的使用很成问题。例如,不能使用SQL搜索ALL_VIEWS字典视图来找出包含文本HELLO的所有视图:
待续P616
转载至链接:https://my.oschina.net/u/1862478/blog/1933440
-
oracle创建表中LONG字段类型的使用注意事项
2015-11-04 15:12:562、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。 3、LONG类型主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。 4、很多...使用说明:
1、LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB。2、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。
3、LONG类型主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。
4、很多工具,包括SQL*Plus,处理LONG 数据类型都是很困难的。
5、LONG 数据类型的使用中,要受限于磁盘的大小。
能够操作 LONG 的 SQL 语句:
1、Select语句2、Update语句中的SET语句
3、Insert语句中的VALUES语句
限制:
1、一个表中只能包含一个 LONG 类型的列。
2、不能索引LONG类型列。
3、不能将含有LONG类型列的表作聚簇。
4、不能在SQL*Plus中将LONG类型列的数值插入到另一个表格中,如inser
yong 说:
4、不能在SQL*Plus中将LONG类型列的数值插入到另一个表格中,如insert into ...select。5、不能在SQL*Plus中通过查询其他表的方式来创建LONG类型列,如create table as select。
6、不能对LONG类型列加约束条件(NULL、NOT NULL、DEFAULT除外),如:关键字列(PRIMARY KEY)不能是 LONG 数据类型。
7、LONG类型列不能用在Select的以下子句中:where、group by、order by,以及带有distinct的select语句中。
8、LONG类型列不能用于分布查询。
9、PL/SQL过程块的变量不能定义为LONG类型。
10、LONG类型列不能被SQL函数所改变,如:substr、instr。
-
转载:oracle中一个表上是否可以有多个LOB列?(CLOB或LONG或BLOB)
2021-05-02 04:26:44答: Oracle 8i以后的版本:一个表只能有一个LONG ,或 LONG RAW列,但可以有多个LOB列(BLOB,CLOB)。VARCHAR2数据类型支持可变长度的字符串,也可以存储字母数字值。该数据类型的大小在1至4000个字节范围内。LONG数据... -
oracle long类型字段的处理
2021-02-01 10:01:162、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。3、LONG类型主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。4、很多工具,... -
【oracle】long类型使用方法
2021-01-27 06:48:432、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。1、LONG数据类型中存储的是可变长字符串,最大长度限制是2GB。2、对于超出一定长度的文本,基本只能用LONG类型... -
Oracle的long类型字段的应用
2021-01-28 10:19:462、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典1、LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB。2、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义... -
oracle中对LONG列进行查询
2021-05-07 09:39:00SQL> CREATE TABLE T_LONG (ID ...表已创建。SQL> INSERT INTO T_LONG VALUES (1, LPAD(1, 32767, ’HELLO WORLD!’));已创建 1 行。SQL> COMMIT;提交完成。SQL> SELECT * FROM T_LONG WHERE LONG_CO... -
oracle里long类型的总结
2019-09-24 16:48:162、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。 3、LONG类型主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。 4、很多工具,... -
Oracle中的long类型
2019-05-07 16:25:582、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。 3、LONG类型主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。 4、很多工具,... -
非法使用long类型数据
2019-02-25 16:06:52LONG列不能出现在SQL语句的某些部分: 1、在WHERE、GROUP BY、ORDER BY、CONNECT BY子句以及在具有DISTINCT 操作的SELECT语句中。 2、SQL函数(如SUBSTR或INSTR) 3、表达式或条件。 4、包含有GROUP BY子句... -
[转] oracle里long类型的总结
2021-03-16 22:55:482、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。1、LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB。2、对于超出一定长度的文本,基本只能用LONG... -
Oracle Long类型
2015-07-22 10:52:302、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。 3、LONG类型主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。 4、很多... -
Mybatis对Oracle中Long类型的查询方法(数据为长字符串数据)
2020-04-06 16:28:26前言 1.LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB。 2.对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用...1、一个表中只能包含一个 LONG 类型的列。 2、不能索... -
使用LONG的限制
2013-02-27 23:15:491、每个表仅能有一个LONG列 ...--再增加一个long型后,提示:ORA-01754: 表只能包含一个 LONG 类型的列 ALTER TABLE FFF ADD CODE LONG; 2、LONG列不能出现在完整性约束中(除了NULL和NOT NULL约束) -- -
转载Oracle中Long类型的使用
2018-07-06 17:15:29–概述 SELECT * FROM t_20160315; 1.存储可变长字符串,最大长度...2.对于超出一定长度的文本,基本上用long型存储,比如数据字典表中的许多字段 SELECT * FROM All_Tab_Cols a WHERE a.data_type=‘LONG’; 3... -
MySQL - 数据表的操作_列的类型定义_字符串类型_TEXT类型
2020-07-05 11:04:241.1 列名: 1)采用26字母和0-9的...7)在命名表的列时,不要重复表的名称(如:在 user 表中,出现 user_name 字段) 8)字段命名使用完整名称 1.2、列的类型定义 1.2.1 字符串类型_TEXT类型 TEXT类型 TEXT类型是一 -
Oracle中Long类型的使用与不可使用
2018-08-23 16:46:03ORA-01754 表只能包含一个LONG类型的列 alter table 表名 add 字段名 long raw 错误原因:数据表中同时建立了LONG RAW类型和LONG类型。 一、可以在以下情况使用long字段: 1、 select的list列表。 SQL>... -
ORA-01461:仅能绑定要插入 LONG 列的 LONG 值
2016-03-12 14:34:45ORA-01461:仅能绑定要插入 LONG 列的 LONG 值 目录: 1.问题描述 2.解决思路及其他 3.问题原因 4.处理办法 5.延伸知识 6.相关参考 -
mysql如何增加表中新的列?
2021-01-28 03:46:36mysql中可以使用“ALTER TABLE”语句来增加表中新的列,语法格式“ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件];”;...一个完整的字段包括字段名、数据类型和约束条件。MySQL 在末尾添加字... -
ORA-01754: a table may contain only one column of type LONG
2010-12-19 16:21:00SQL> create table CUST 2 ( 3 CUST_ID NUMBER(2) not null, 4 CN_NAME LONG, 5 E_NAME LONG 6 ) 7 ; create table CUST ( CUST_ID ... -
oracle表中列的类型。number和integer区别
2018-02-26 15:56:51数据库中创建表,常见类型总结: 见一个大神总结的很全: 一、数据类型1.char(n) n=1 to 2000字节 定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)2.varchar2(n) n=1 to 4000字节 可变... -
oracle Long数据类型总结
2016-03-15 21:55:502.对于超出一定长度的文本,基本上用long型存储,比如数据字典表中的许多字段 SELECT * FROM All_Tab_Cols a WHERE a.data_type='LONG'; 3.long型主要用于不需要字符串搜索操作的长串数据,如果需要字段搜索就... -
MySQL中的数据类型,列选项,视图
2021-01-18 23:26:58列的数据类型整型类型取值范围tinyint-128 - 127smallint-32768 - 32767(几万)mediumint-8388608 - 8388607(几百万)integer-2147484468 - 2147483647(几十亿)bigint-9223372036854775808 - 9223372036854775807(天文...