`
javasogo
  • 浏览: 1834943 次
  • 性别: 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。

[b]因为long类型的数值不能用insert into ... select的方法插入,故我们要分两步走,先插入其它字段,最后再插入long类型字段,这可以通过过程来实现.[/b]下面是一个我做实验实现的例子.

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;
5BEGIN
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;
14END;
15/

PL/SQL 过程已成功完成。

SQL>; select * from testlong1;

ID NAME
---------- ------------------------
HISTORY
--------------------------------------------------------------------------

1 dwh
work in foshan

2 sfg
work in guangzhou
分享到:
评论

相关推荐

    hibernate映射Oracle中LONG类型

    Oracle 中的 LONG 类型字段是一种特殊的数据类型,用于存储可变长字符串,最大长度限制是 2GB。这与 Java 中的长整形基本数据类型 long 不同,LONG 类型主要用于不需要作字符串搜索的长串数据。 在 Hibernate 框架...

    oracle里long类型

    Oracle 中的 LONG 数据类型 Oracle 中的 LONG 数据类型是一种特殊的数据类型,用于存储可变长字符串。LONG 数据类型的最大长度限制是 2GB,这使得它非常适合存储超出一定长度的文本。实际上,数据字典中很多对象的...

    Oracle与DB2数据类型分类对应说明

    然而,在实际应用中,我们经常需要在 Oracle 和 DB2 之间进行数据类型的转换和对应,这就需要我们对 Oracle 和 DB2 的数据类型有深入的了解。 在本文中,我们将对 Oracle 和 DB2 的数据类型进行分类和对应说明,...

    Oracle与.Net 数据类型映射

    了解Oracle数据库与.NET数据类型的映射关系对于开发人员来说至关重要,这直接影响到数据的正确存储、检索和处理。以下是对"Oracle与.Net 数据类型映射"这一主题的详细解释。 首先,Oracle数据库提供了一系列的数据...

    oracle数据类型总结PPT

    Oracle数据库是世界上最广泛使用的数据库管理系统之一,其强大的功能和丰富的数据类型是其核心特性之一。在Oracle编程中,理解并熟练掌握数据类型至关重要,因为它们决定了数据如何存储、处理和检索。以下是对Oracle...

    oracle11里long数据类型的总结.docx

    ..oracle11里long数据类型的总结.docx

    oracle11里long数据类型的总结.pdf

    ..oracle11里long数据类型的总结.pdf

    oracle和sql数据类型

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

    oracle基本数据类型

    本文将详细介绍 Oracle 中的基本数据类型,并讨论它们的特点和使用区别。 字符类型 Oracle 中有多种字符类型,包括 char、varchar、varchar2、long 等。 * char(n):定长字符串,最大长度为 2000 字节。char ...

    sql server 和oracle 中数据类型的区别

    15. **LONG RAW**: 用于存储较大的二进制数据,同样不推荐在新版本的Oracle中使用,其在SQL Server中的对应类型为`image`。 16. **NCLOB**: 用于存储Unicode文本数据,在SQL Server中的对应类型为`ntext`。 综上所...

    Oracle基本数据类型存储格式浅析

    Oracle数据库中,数据类型的存储格式对于数据库的性能和空间利用率至关重要。本文将深入探讨Oracle的字符类型、数字类型、日期类型、ROWID类型和RAW类型的基本数据类型的存储机制。 首先,让我们聚焦于字符类型。在...

    oracle LongRaw 转 Blob

    在Oracle数据库中,LongRaw和Blob都是用于存储大对象(LOB)的数据类型,但它们有各自的特点和适用场景。在某些情况下,可能需要将LongRaw字段转换为Blob字段,这通常是因为Blob提供更好的管理和处理大型二进制数据...

    oracle-java数据类型1

    在 Oracle 数据库与 Java 应用程序交互时,理解 SQL 数据类型和它们对应的 JDBC 类型以及 Oracle 扩展的 Java 类型是至关重要的。这里我们将深入探讨这些概念,并提供一个全面的指南。 首先,JDBC(Java Database ...

    Oracle与DB2数据类型的对应说明书

    Oracle中的ROWID虚拟列用于对表中的某一列进行唯一标示,DB2/400中也有类似的数据类型ROWID,它与Oracle中的ROWID的功能相似。DB2/400中的ROWID可以存放40 byte的数据用于唯一标示表中的每一行。 了解Oracle和DB2...

    oracle的数据类型及存储方式 文档

    在Oracle 10G中,引入了一些新的数据类型,例如BINARY_FLOAT和BINARY_DOUBLE,用于高精度浮点数计算;TIMESTAMP WITH TIME ZONE和TIMESTAMP WITH LOCAL TIME ZONE,提供了更精确的日期和时间处理;以及其他如RAW和...

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

    本文将详细介绍Oracle中的几种常见数据类型,并针对每种类型的特点进行分析,旨在帮助中高级编程开发人员以及初学者更好地理解和使用Oracle数据类型。 #### Character 类型 - **CHAR**: 是一种固定长度的字符类型...

    Mysql、orcale 中的数据类型与java中的数据类型对应表.pdf

    Mysql、Oracle 中的数据类型与 Java 中的数据类型对应表 MySQL 和 Oracle 是两种常用的关系型数据库管理系统,而 Java 是一种广泛应用于企业级应用开发的编程语言。在数据库应用开发中,理解数据类型的对应关系...

    oracle数据类型.doc

    Oracle 数据类型是数据库管理系统Oracle中的核心元素,它们决定了如何存储和处理各种数据。在Oracle中,数据类型可以分为基本数据类型、对象数据类型和大型对象数据类型。以下是对Oracle主要数据类型的详细说明: 1...

    Oracle基本数据类型.pdf

    本文将详细介绍 Oracle 中的一些基本数据类型,并探讨它们之间的区别和应用场景。 #### 二、字符数据类型 ##### 1. CHAR (n) - **定义**: 定长字符串,n 字节长,默认情况下 n 的范围是从 1 到 2000。 - **特点**...

    oracle 数据类型 说明

    ### Oracle 数据类型详解 Oracle 数据库提供了丰富的内置数据类型,...以上数据类型覆盖了 Oracle 数据库中的大部分应用场景,开发者可以根据具体需求选择合适的数据类型来存储数据,以实现高效的数据管理和查询操作。

Global site tag (gtag.js) - Google Analytics