- 浏览: 51533 次
- 性别:
- 来自: 北京
最新评论
CREATE OR REPLACE PROCEDURE test(p_array_size IN PLS_INTEGER DEFAULT 10000)
IS
TYPE ARRAY IS TABLE OF a%ROWTYPE;
l_data ARRAY;
CURSOR c IS
SELECT *
FROM a;
BEGIN
OPEN c;
LOOP
FETCH c BULK COLLECT INTO l_data LIMIT p_array_size;
FORALL i IN 1..l_data.COUNT
INSERT INTO t VALUES l_data(i);
COMMIT;
EXIT WHEN c%NOTFOUND;
END LOOP;
CLOSE c;
END test;
/
IS
TYPE ARRAY IS TABLE OF a%ROWTYPE;
l_data ARRAY;
CURSOR c IS
SELECT *
FROM a;
BEGIN
OPEN c;
LOOP
FETCH c BULK COLLECT INTO l_data LIMIT p_array_size;
FORALL i IN 1..l_data.COUNT
INSERT INTO t VALUES l_data(i);
COMMIT;
EXIT WHEN c%NOTFOUND;
END LOOP;
CLOSE c;
END test;
/
发表评论
-
Oracle的left join中on和where的区别
2012-10-26 15:43 960Oracle的left join中on和where的区别 数 ... -
动态sql拼接单引号与 变量赋值
2012-06-21 10:09 3827if (lower(s_table)='gl_deta ... -
ora-00031:session marked for kill处理oracle中杀不掉的锁
2012-06-19 16:36 1042转: 一些ORACLE中的进程被杀掉后,状态被置为" ... -
使用DBLINK为远程数据库的用户表创建同义词
2012-06-19 14:39 9121、创建db_link create database l ... -
以字符串数组为输入参数的存储过程
2012-06-19 14:27 2725今天项目中需要用到存 ... -
函数的使用
2012-06-04 17:09 967create or replace function Fun_ ... -
Oracle中decode的使简单例子
2012-06-04 17:06 1462decode(字段,表达式1,表达式2,表达式。。。) 当,字 ... -
oracle触发器
2012-04-20 09:11 722表: A 字段:a, b, c 当修改a字段的值时触发 c字段 ... -
oracle的全文索引
2012-04-16 14:29 781已有几个项目组开始使 ... -
单独的plsql链接数据库
2011-10-14 16:03 895转的: plsql 可不可以 ... -
Oracle经验集锦
2011-09-24 13:32 6801.删除表空间 DROP ... -
两个数据库字符集不一样,如何快速增量同步数据.
2011-09-23 15:00 1135环境: DB-A 字符集:US7ASC ... -
Oracle分区表详解 .
2011-08-06 10:42 634一、Oracle分区简介 ORACLE的分区是一种处理超大型 ... -
利用 rowid 提升update性能 .
2011-08-04 23:52 1797能不能想办法 提升一下如下update语句的性能 UPDA ... -
oracle全文索引的简单配置
2011-08-04 23:49 9941.创建数据存储定义(Datastore),使用多列数据存储在 ... -
用java调用oracle存储过程总结
2011-08-04 23:45 6351、什么是存储过程。存 ... -
Oracle SCN详解
2011-08-04 23:38 598pre. Oracle中的SCN(system change ... -
oracle 数据库里查看表空间使用状况
2011-08-04 23:34 634oracle表空间的事情状况要经常查看,一般空闲比例过低的时候 ... -
采用全文索引解决模糊查询速度慢的问题
2011-08-04 23:31 748众所周知,使用 like 进行模糊查询速度极差,包括 like ... -
oracle9i在windows上的dataguard配置
2011-08-04 23:23 701主库:win2003 server ora9i(9.2.0.1 ...
相关推荐
批量提交在Oracle存储过程中是一项非常重要的技术,它可以帮助我们有效地处理大量数据,并且显著提升系统的整体性能。通过合理设计和实现,可以充分发挥其优势,为应用程序带来更好的用户体验。
这段Java代码通过JDBC实现了向Oracle数据库批量插入数据的功能。关键步骤包括:建立数据库连接、准备SQL语句、批量添加SQL语句到批处理队列、执行批处理以及事务提交。这种方式相比于逐条插入数据,可以显著提升插入...
本文将详细介绍Oracle中实现批量更新的四种常见方法,并通过示例代码来具体说明每种方法的应用场景及优缺点。 #### 二、方法一:直接SQL更新语句 **定义:** 最直观的方法是直接使用SQL更新语句来进行批量更新。 ``...
本例中提供的PL/SQL代码展示了一种批量删除或更新的策略。 首先,我们来看代码的结构。这段PL/SQL代码分为以下几个部分: 1. 定义变量:`CNT` 是一个整型变量,用于存储需要处理的记录总数;`I` 也是一个整型变量...
在实际应用中,"batchinsert"可能是一个包含示例代码的文件,展示了如何使用JDBC批量插入Blob字段的具体实现。通过研究和理解这些代码,你可以更好地掌握批量插入Blob数据的技巧,并根据自己的需求进行调整和优化。 ...
Oracle Data Unloader(DUL)是Oracle数据库管理工具的一个组件,用于高效地导出大量数据。这个源代码可能包含了用于批量卸载Oracle数据库表数据到文件的程序逻辑。OracleBlock.java很可能是源代码中的关键部分,它...
以上就是一个简单的源代码实现,将Excel数据批量插入Oracle数据库的过程。实际操作中,还需考虑错误处理、数据类型转换、分批插入以优化性能等问题。另外,为了确保数据的完整性和一致性,可能还需要在Oracle数据库...
Oracle 11g是甲骨文公司发布的一款企业级数据库管理系统,而PL/SQL则是Oracle数据库内置的一种结构化查询语言,专门用于处理Oracle数据库中的数据。这篇文章将深入探讨Oracle 11g中的PL/SQL编程,包括其核心概念、...
- 循环语句:WHILE、FOR 和 GOTO 用于重复执行一段代码,GOTO应谨慎使用,避免无限循环。 5. **集合和游标** - 集合:PL/SQL提供数组和关联数组,允许存储多个同类型的值。 - 游标:用于遍历查询结果集,允许按...
在这段代码中,我们首先创建了一个名为 `dumpy` 的表,其中包含三个字段:`id`(主键)、`name` 和 `rand`。接着,使用一个PL/SQL块来插入100万条随机数据,为了提高性能,每插入1000条数据就进行一次提交。 ##### ...
- 使用批处理操作批量提交SQL,减少网络通信次数。 - 调整连接池大小,避免过多的数据库连接创建和销毁。 - 使用Oracle的高级特性如绑定变量、物化视图、索引等提高性能。 5. 安全性考虑: - 不要在代码中硬...
- **批量插入**:指一次性提交多条插入语句。这种方法可以显著提高数据插入的效率,尤其是在处理大量数据时。 #### 三、示例代码分析 本节将详细介绍示例代码中的两种插入方法,并对比它们在不同数据量下的性能...
在提供的代码中,创建了一个名为delBigTab的存储过程,该过程实现了分批删除的功能。它接受三个参数:表名(p_TableName)、删除条件(p_Condition)和每批删除的最大行数(p_Count)。内部循环使用了EXECUTE ...
- SQL*Loader 是一种批量加载工具,可以将大量数据快速导入到Oracle数据库中。 - **11.6 外部表** - 外部表允许将文件系统中的数据作为表进行查询,无需先导入到数据库中。 - **11.7 LogMiner** - LogMiner 是一...
例如,触发器可以在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行一段PL/SQL代码,实现数据的自动维护。 在实践中,PL/SQL的性能优化也是不可忽视的部分。这包括选择合适的数据类型、避免全表扫描、...
这段代码首先定义了一个游标`c1`来查询数据,然后使用`BULK COLLECT`批量收集查询结果。接着,关闭回闪模式,并循环将收集到的数据重新插入到表中,最后提交事务。 #### 2. 验证数据恢复结果 完成上述步骤后,可以...
此外,Oracle的触发器(Trigger)可以在特定事件(如INSERT、UPDATE或DELETE)发生时自动执行一段PL/SQL代码,常用于实现业务规则的自动化。然而,过度使用触发器可能会导致性能问题,因此需谨慎设计。 索引是提高...
- SQL*Loader是一种快速批量加载数据到Oracle数据库的工具。 - **11.6 外部表** - 外部表允许直接访问位于文件系统或其他文件格式中的数据。 - **11.7 LogMiner** - LogMiner是用于从重做日志文件中提取更改数据...