`
thinkerAndThinker
  • 浏览: 285231 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle long类型总结

 
阅读更多

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类型列的数值插入到另一个表格中,如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。 
因为long类型的数值不能用insert into … select的方法插入,故我们要分两步走,先插入其它字段,最后再插入long类型字段,这可以通过过程来实现.下面是一个我做实验实现的例子. 
SQL>; create table testlong (id number,name varchar2(12),history long); 
表已创建。 
SQL>; create table testlong1 (id number,name varchar2(12),history long); 
表已创建。 
SQL>; insert into testlong values(1,’dwh’,'work in foshan’); 
已创建 1 行。 
SQL>; insert into testlong values(2,’sfg’,'work in guangzhou’); 
已创建 1 行。 
SQL>; select * from testlong; 
ID NAME 
———- ———————— 
HISTORY 
——————————————————————————– 
1 dwh 
work in foshan 
2 sfg 
work in guangzhou 
SQL>; insert into testlong1 select * from testlong; 
insert into testlong1 select * from testlong 

ERROR 位于第 1 行: 
ORA-00997: 非法使用 LONG 数据类型 
SQL>; Declare 
2 CURSOR bcur 
3 IS SELECT id,history from testlong; 
4 brec bcur%ROWTYPE; 
5 BEGIN 
6 insert into testlong1(id,name) select id,name from testlong;–其它类型 
先插入 
7 OPEN bcur; 
8 LOOP 
9 FETCH bcur INTO brec; 
10 EXIT WHEN bcur%NOTFOUND; 
11 update testlong1 set history=brec.history where id=brec.id; 
12 END LOOP; 
13 CLOSE bcur; 
14 END; 
15 / 
PL/SQL 过程已成功完成。 
SQL>; select * from testlong1; 
ID NAME 
———- ———————— 
HISTORY 
————————————————————————– 
1 dwh 
work in foshan 
2 sfg 
work in guangzhou 
LONG列不能出现在SQL语句的某些部分: 
1、在WHERE、GROUP BY、ORDER BY、CONNECT BY子句以及在具有DISTINCT 操作的SELECT语句中。 
2、SQL函数(如SUBSTR或INSTR) 
3、表达式或条件。 
4、包含有GROUP BY子句的查询的选择表。 
5、在子查询的选择表或由集合操作组合查询选择表。 
6、CREATE TABLE AS SELECT语句的选择表。

分享到:
评论

相关推荐

    oracle数据类型总结PPT

    以下是对Oracle数据类型的详细总结,特别是字符和二进制串类型。 首先,我们来看字符类型。Oracle提供了四种基本的字符数据类型:`CHAR`,`NCHAR`,`VARCHAR2`,以及`NVARCHAR2`。`CHAR`和`NCHAR`是固定长度的数据...

    个人开发总结文件夹

    8. **Oracle Long类型总结.docx**:Oracle数据库中的Long类型用于存储大文本或二进制数据。文档可能详细介绍了Long类型的使用限制、存储方式、与其他数据类型的区别,以及在处理大数据时的最佳实践。 9. **Oracle表...

    *oracle存储过程总结*oracle存储过程总结*

    根据提供的文件信息,我们可以归纳出以下Oracle存储过程的相关知识点: ### Oracle存储过程基础概念 ...以上是基于提供的部分内容对Oracle存储过程进行的总结,包含了从基础概念到具体应用实例的全面解析。

    v512工作室_张利国_Java高端培训系列教材_Oracle实用教程_04章_Oracle数据类型和函数.

    ### Oracle 数据类型详解 #### 4.1 Oracle 数据类型 ##### 4.1.1 概述 在深入了解Oracle数据库中的各种数据类型之前,我们首先需要明确数据类型的基本概念。数据类型是由一组具有相同特性的值及其上定义的操作...

    Oracle各种数据类型的介绍,适合中高级编程开发人员

    需要注意的是,LONG类型在Oracle 12c之后的版本中已经被废弃,建议使用CLOB代替。 - **RAW**: 用于存储固定长度的二进制数据,最大长度为2000字节。 - **LONG RAW**: 用于存储可变长度的二进制数据,最大长度同样为2...

    oracle和sql数据类型

    总结来说,Oracle 和 SQL Server 数据类型在很多方面有相似之处,如字符串、数字、日期/时间、二进制数据类型,但在细节上有所差异,如长度限制、Unicode 支持和特定用途的类型(如 Oracle 的 Bfile 和 SQL Server ...

    mysql与oracle差异总结

    MySql 中的 TEXT 等同于 Oracle 中的 LONG 函数。 13. 日期函数 MySql 中的 EXTRACT 函数可以提取日期的年、月、日等信息,而 Oracle 需要使用 TO_CHAR 函数来实现。 14. 去年同比的写法 MySql 中的 EXTRACT ...

    Oracle数据类型说明

    ### Oracle 数据类型详解 #### 一、概述 Oracle 数据库提供了丰富的数据类型,这些类型能够满足各种业务场景的需求。在数据库设计中合理选择数据类型对于提高数据库性能、减少存储空间和确保数据一致性等方面都至...

    学习Oracle实用教程04章Oracle数据类型和函数.pdf

    Oracle还有RAW和LONG RAW用于存储二进制数据,LOB(Large Object)类型用于存储大量数据,如BLOB(Binary Large OBject)用于存储图像或文件,CLOB(Character Large OBject)用于存储大文本数据,以及XML TYPE用于...

    Oracle基本数据类型.pdf

    BLOB/CLOB**: 随着 Oracle 对大对象数据类型的支持增强,`LONG` 类型正逐步被淘汰,推荐使用 `BLOB` 或 `CLOB` 来存储大量数据。 - **NUMBER**: 这是一个非常灵活且强大的数据类型,可以处理几乎所有的数值计算需求...

    mysql和Oracle在对clob和blob字段的处理

    `LONGTEXT`和`LONGBLOB`是最接近`CLOB`和`BLOB`的数据类型,分别可存储最大4GB的字符和二进制数据。MySQL将这些大型数据存储在外存,以减少内存占用。查询`CLOB`和`BLOB`字段时,MySQL会根据需要加载部分或全部数据...

    weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB 类型转换解决办法

    ### WebLogic 下 Oracle CLOB 类型转换解决方案 在使用 WebLogic 服务器进行应用程序开发时,尤其是在处理 Oracle 数据库中的 CLOB 类型数据时,开发者可能会遇到类型转换的问题。本文将详细介绍如何通过反射机制来...

    oracle处理的类型 oracle行排序

    总结,Oracle的数据类型丰富多样,涵盖了各种常见数据的存储需求,而行排序则是数据查询时不可或缺的一部分,帮助我们以有意义的方式展示和分析数据。理解并熟练运用这些概念对于任何Oracle数据库管理员或开发人员都...

    oracle基本数据类型存储格式浅析.pdf

    #### LONG类型 `LONG`类型用于存储较大的文本块,它可以存储最大达2GB的数据。然而,由于其维护起来比较麻烦且效率较低,现在很少被推荐使用,大多数情况下会被`CLOB`或`NCLOB`所替代。 **存储示例**: 在上面的...

    ORACLE 和PLSQL总结.pdf

    - `LONG` 类型允许存储最长2GB的文本数据。 - `DATE` 类型用于存储日期和时间。 - `BOOLEAN` 类型有三个可能的值:`TRUE`、`FALSE` 和 `NULL`。 2. **变量定义** - 变量定义通常使用 `DECLARE` 关键字,如 `...

    ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob) (2).pdf

    1. Long类型:Long数据类型用于存储大文本数据,如用户简历(EMP_DESCLONG)。它能存储的最大长度为2GB。然而,由于Long字段在处理大量数据时性能较低,且不支持索引,所以在现代Oracle数据库设计中,通常推荐使用...

    用VC访问Oracle操作大数据类型的高效方法.pdf

    总结来说,本文为使用VC开发Oracle数据库应用的人员提供了一种高效处理大数据的策略,即通过OO40组件,利用其强大的功能和高效的数据处理能力,优化大数据类型的存储和访问,以适应现代信息化时代对数据管理的需求。

Global site tag (gtag.js) - Google Analytics