- 浏览: 7331060 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
最近遇见一个ORA-01795: maximum number of expressions in a list is 1000 错误,才知道In-list有1000个元素的限制;可以使用array bind或者temporary table解决,而且还能绑定变量。[Limit and conversion very long IN list : WHERE x IN ( ,,, ...) ] 54ne.com
再想到SQL的长度是否在SQLPLUS里面还有其他的限制? feedom.net
Logical Database Limits
54ne.com
SQL Statement Length
Maximum length of statements
64 K maximum; particular tools may impose lower limits
54com.cn
9i的文档写的最大64K,其实不正确。
54com.cn
在10g的文档中作了修改 Logical Database Limits
The limit on how long a SQL statement can be depends on many factors, including database configuration, disk space, and memory
仔细想想,我们数据库中 package 几十K有很多,当初都是用sqlplus执行创建的;sqlpplus对日常执行的SQL因该不会有长度限制。
先测试一下使用DBMS_SQL执行很长的SQL语句。 网管网bitsCN.com
SQL> declare
2 l_stmt dbms_sql.varchar2s;
l_cursor integer default dbms_sql.open_cursor;
l_rows number default 0;
3 4 5 l_length number := 0;
6 begin
7 l_stmt(1) := 'select 1 c1';
8 for i in 2 .. 15000
9 loop
10 l_stmt(i) := ', 1 c' || i;
11 end loop;
12 l_stmt(15000) := 'from dual';
13 for i in l_stmt.first .. l_stmt.last
14 loop
15 l_length := l_length + length(l_stmt(i));
16 end loop;
17 dbms_output.put_line( 'length = ' || l_length );
18 dbms_sql.parse( c => l_cursor,
19 statement => l_stmt,
20 lb => l_stmt.first,
21 ub => l_stmt.last,
中国网管联盟www、bitsCN、com
22 lfflg => TRUE,
23 language_flag => dbms_sql.native );
25 l_rows := dbms_sql.execute(l_cursor);
26 dbms_sql.close_cursor( l_cursor );
27 end;
28 /
length = 138898
54ne.com
PL/SQL procedure successfully completed.
通过dbms_sql.varchar2s数组,可以执行很长的SQL。 网管联盟www.bitsCN.com
再将如上pl/sql产生的SQL使用dbms_output输出longSQL.sql. feedom.net
SQL> host ls -l longSQL.sql
-rw-r--r-- 1 oracle dba 1215082 Dec 4 05:19 longSQL.sql
SQL> host head longSQL.sql
select 1 c1
, 1 c2
...........................
54com.cn
SQL> host tail longSQL.sql
................
, 1 c14999
, 1 c15000
from dual; 中国网管论坛bbs.bitsCN.com
这个1M的SQL在sqlplus里完全可以执行。看来,oracle完全支持很长的SQL语句;但该sql会占用很多share pool空间,因此不提倡经常执行。
54ne.com
SQL> select sql_text, SHARABLE_MEM,PERSISTENT_MEM,RUNTIME_MEM from v$sql where sql_text like '%, 1 c2%'; 中国网管联盟www_bitscn_com
SQL_TEXT
--------------------------------------------------------------------------
SHARABLE_MEM PERSISTENT_MEM RUNTIME_MEM
------------ -------------- -----------
select 1 c1 , 1 c2 , 1 c3 , 1 c4 , 1 c5 , 1 c6 , 1 c7 , 1 c8 , 1 c9 , 1 c10 , 1
c11 , 1 c12 , 1 c13 , 1 c14 , 1 c15 , 1 c16 , 1 c17 , 1 c18 , 1 c19 , 1 , 1 .............................................................................................
评论
select * from a where a.id in (1,2,........999) or a.id in (1000,1001......1999) ....... or a.id in (50000..........50999)
把里面的....填充完后,这个sql太长了,根本无法执行,所以sql的长度还是有限制的。
发表评论
-
Oracle truncate 和drop 的区别测试
2011-09-15 21:47 1685设置autotrace功能 1.创建plan_table ... -
Oracle使用实例证明实体化视图和视图的区别
2011-09-14 16:52 3196使用实例证明实体化视图和视图的区别 scott@TICKET ... -
Oracle中证明spfile和pfile的启动顺序
2011-09-13 23:44 2751问题: Oracle在nomount状态:只启动实例 ... -
ORACLE在windows上使用orakill结束oracle会话的线程
2011-09-13 23:08 4686在windows上使用orakill结束oracle会话的线程 ... -
Oracle【COLUMN】设置表字段默认值仅对未来生效
2011-09-13 22:10 3179【COLUMN】设置表字段默 ... -
Oracle无法使用命令 /usr/X11R6/bin/xdpyinfo 自动检查显示器颜色
2011-09-13 19:59 12966在suse10中安装orac ... -
Oracle Listener中常用命令
2011-09-12 22:37 1833Oracle Listener中常用命令1.通过lsnrctl ... -
简单描述Oracle临时表的存储特点
2011-09-12 22:28 1917简单描述临时表的存储特点。 临时表的数据存储在临时表空间 ... -
Oracle实现定时expdp备份
2011-09-12 22:14 4479在项目中实现oracle的每周五进行一次全部分,通过 ... -
用户的$home/.dmrc已被忽略,这将无法保存 默认会话和语言
2011-09-11 23:44 2552用户的$home/.dmrc已被忽略,这将无法保存 默认会话和 ... -
undo表空间学习总结
2011-09-11 12:59 2397undo 表空间只有一个是 ... -
Oracle11g中SCN与TimeStamp的相互转换
2011-09-10 18:55 3374Oracle11g中SCN与TimeStamp的相互转换 作 ... -
ORA-01578: ORACLE 数据块损坏的解决方案
2011-09-01 19:32 7613错误描述: Errors in file d:\app\ad ... -
Oracle v$parameter表知多少
2011-09-01 00:07 2807orale中一个重要的视图v$parameter,我们知道知 ... -
Oracle 初始化参数的管理
2011-08-31 22:50 1292orale中一个重要的视图v$parameter,我们知道知 ... -
Oracle查询数据库的各种文件
2011-08-31 22:40 2035查询数据库的各种文件 set lines 100 pages ... -
Oracle 性能调优学习笔记(二)- ----Oracle SQL TRACE和TKPROF使用
2011-08-30 15:14 2647Oracle SQL TRACE和TKPROF使用 ... -
Why VKTM background process in Oracle 11g(转)
2011-08-30 14:11 2672在分析Oracle的Alertlog时候,发现有一 ... -
没事看看Oracle的AlertSID.log做一下分析
2011-08-30 13:43 2324后台进程trace file: alert log 文 ... -
Oracle Job使用和管理
2011-08-30 11:32 3109Oracle job 管理 查看数据 ...
相关推荐
- SQL SERVER中的`TOP`语句用于限制返回的行数,而ORACLE使用`ROWNUM`配合`WHERE`子句来实现类似功能。 - ORACLE支持PL/SQL,而SQL SERVER有T-SQL,它们是各自的存储过程和触发器的编程语言。 理解这些语法差异...
4. **字段长度限制**:在`VARCHAR2`类型中,我们指定了字段的最大长度,如`VARCHAR2(100)`表示该字段最多能存储100个字符。 5. **日期和时间处理**:Oracle支持多种日期和时间格式,使用`DATE`类型可以同时存储日期...
- **定义**:PL-SQL(Procedural Language for SQL)是一种过程化的SQL语言,由Oracle公司开发,用于扩展标准SQL的功能,使之具备更强大的编程能力。 - **特点**: - 结合了SQL的数据操作能力和传统过程化编程语言...
2. **DATE数据类型限制**:SQL Server的datetime类型与Oracle的DATE类型在日期范围上有所不同,Oracle的DATE类型支持范围从公元前4712年到公元4712年,因此,在复制过程中,需确保SQL Server的datetime值在此范围内...
Oracle数据库中,表中已存在数据字段修改该字段的长度,如有疑问可沟通联系,当积分自动提升到很高的时候欢迎联系,会把积分调低。
Oracle数据库培训-SQL基础篇主要涵盖了SQL语言的基础概念和常用操作。SQL,即结构化查询语言,是用于管理和处理关系数据库的标准语言。以下是对主要内容的详细解释: 1. **基本的SELECT语句**:SELECT语句是SQL中最...
### Oracle SQL 基础知识点概述 #### 一、Oracle SQL ...- 在创建表时需要遵守Oracle数据库的命名规则,如不能使用保留字、长度限制等。 **8.4 CREATE 创建表的语法** - 使用CREATE TABLE 表名 (列1 数据类型, 列2...
总结来说,Oracle 和 SQL Server 数据类型在很多方面有相似之处,如字符串、数字、日期/时间、二进制数据类型,但在细节上有所差异,如长度限制、Unicode 支持和特定用途的类型(如 Oracle 的 Bfile 和 SQL Server ...
这个长度也是Oracle标识符的最大长度,为30个字符。 小编今天在建一个Oracle数据库表时,提示如下表名长度超过了最大值了。错误如下: 代码如下: 错误报告: SQL 错误: ORA-00972: 标识符过长 00972. 00000 – ...
在修改字段值时,需要注意字段的长度限制和非空校验。 二、数据定义语句(DDL) 数据定义语句用于定义数据库中的对象,包括表、索引、视图、同义词、过程、函数、数据库链接等。 1. CREATE 语句 CREATE 语句用于...
Oracle数据库还支持PL/SQL复合类型,如记录(Record)和表类型(Table),以及集合类型,如关联数组(Associative Array)。这些类型使得在数据库中进行复杂的逻辑操作变得更加灵活和高效。 在实际应用中,选择正确...
例如,SQL Server和Oracle对于数据库名、列名、索引名、表名和视图名的长度限制不同,SQL Server的限制通常较大。此外,两者对单个索引中的最大列数、字符类型的最大大小、varchar类型的限制、表中最大列数、行的...
根据提供的文件信息,我们可以推断出本书主要关注的是Oracle SQL 和 PL/SQL 的掌握与应用。下面将基于这些信息来生成相关的知识点。 ### Oracle SQL 和 PL/SQL 知识点 #### 一、Oracle SQL 概述 1. **定义**:...
7. **错误处理和调试**:在迁移过程中可能会遇到各种问题,如数据格式不匹配、超出字段长度限制等。对错误进行记录和调试,调整数据处理流程以解决这些问题。 8. **完整性检查**:最后,进行完整性检查,包括主键、...
- 表名长度限制为30个字符,若超过此长度,需要先修改表名再进行迁移。 - 使用SQL SERVER的DTS(Data Transformation Services)导出工具,但需要注意的是,表名会自带双引号,可能需要手动处理。 - 对于大量表的...
在Oracle数据库中,PL-SQL(Procedure Language for SQL)提供了丰富的数据类型来满足不同的业务需求。这些数据类型可以分为四大类:标量类型、复合类型、引用类型以及LOB类型。 1. **标量类型**:这类数据类型没有...
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的SQL语法用于数据操作、定义和管理。本文将详细介绍Oracle中常用的SQL命令,特别关注数据控制语句(DML)和数据定义语句(DDL)。 1. 数据控制语句 ...
SQL,全称Structured Query Language,是一种用于管理和处理...综上所述,本PPT课件全面介绍了Oracle数据库的基础概念、SQL语言的关键元素以及如何使用SQL进行数据操作,对于理解和掌握Oracle数据库及SQL编程至关重要。
- **Sql Server**:相比之下,Sql Server对于这些名称的长度限制更为宽松。 #### 三、Top语法的支持差异 - **Sql Server**:支持`TOP`语法,例如`SELECT TOP 10 * FROM table`。 - **Oracle**:不支持`TOP`语法,...