oracle里long类型的总结

news/2025/2/26 6:18:06
 
1、LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB。

2、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用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
---------- -------------     -------------------------------------------------------
             dwh           work in foshan
             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
----------    --------------        ----------------------------------------------

                dwh                work in foshan
                sfg                 work in guangzhou
摘自http://whitechief.itpub.net/post/1825/47242

http://www.niftyadmin.cn/n/3641939.html

相关文章

电脑测试软件_替代鲁大师,最有脑洞的SSD测试软件

PowerShell是WINDOWS操作系统上的一个非常强大的命令行外壳程序和脚本环境。它具有方便、面向对象、强大的兼容性、基于平台的可扩展性等等特点。今天我们给大家介绍一个基于WINDOWS命令用PowerShell写成的功能强大的SSD测试软件:powev ssd test 。powev ssd test拥…

【Leetcode】1374. Generate a String With Characters That Have Odd Counts

题目地址: https://leetcode.com/problems/generate-a-string-with-characters-that-have-odd-counts/ 给定一个正整数nnn,返回一个长nnn的任一字符串,使得每个字母都出现奇数次。 代码如下: class Solution {public:string g…

cocoapods详解

本文系本人在学习CocoaPods时偶然见到的一篇文章,一直尊重原版,贴个地址,常看。 原文链接: Michele Titolo 翻译: 伯乐在线 - programmer.du译文链接: http://blog.jobbole.com/53365/ 贴出正文&#xff…

安卓模拟器安装教程_雷电模拟器4.0去广告清爽版,详细安装教程,超简单!

前面的许多朋友都希望找到PC端的Android模拟器软件。实际上,市场上有许多模拟器,例如夜神、网易MUMU、逍遥、天天、雷电等,并且模拟器对于不同软件的兼容性也有所不同。不过,大多数模拟器的系统中都内置了许多游戏软件广告。 普通…

【Leetcode】921. Minimum Add to Make Parentheses Valid

题目地址: https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/ 给定一个长nnn的括号序列的字符串sss,问至少加多少个括号可以使其合法。加的位置不限。 可以用栈来思考,当右括号来的时候栈顶没有左括号与之匹配&#…

label标签的用途(本文转自http://blog.sina.com.cn/s/blog_6cbbde3f0100o7a9.html)

在Dreamweaver8中&#xff0c;只要一加入表单或表单对象&#xff0c;文本框等等&#xff0c;就会在代码中加入一个<label></label>&#xff0c;一直没明白这个label是做什么的&#xff0c;今天正好看到了解释&#xff1a;Label 中有两个属性是非常有用的,一个是FOR…

cesium three性能比较_【Nanoscale】三功能FeZr双金属MOF纳米酶实现高性能的磷酸根离子比率型荧光检测...

点击上方“蓝字”关注我们了解更多精彩研究背景磷酸根离子(phosphate ion, Pi)是一种常见的无机阴离子&#xff0c;它不仅在细胞信号传导和能量代谢等多种生物过程中发挥着重要作用&#xff0c;而且随着使用领域的拓展正日益影响着我们的生活。在农业上&#xff0c;磷酸盐是植物…

【ACWing】1174. 受欢迎的牛

题目地址&#xff1a; https://www.acwing.com/problem/content/1176/ 每一头牛的愿望就是变成一头最受欢迎的牛。现在有NNN头牛&#xff0c;编号从111到NNN&#xff0c;给你MMM对整数(A,B)(A,B)(A,B)&#xff0c;表示牛AAA认为牛BBB受欢迎。这种关系是具有传递性的&#xff…