批量处理一般用在ETL操作, ETL代表提取(extract),转换(transform),装载(load), 是一个数据仓库的词汇!
类似于下面的结构:
for x (select * from...)
loop
Process data;
insert into table values(...);
end loop;
一般情况下, 我们处理大笔的数据插入动作, 有2种做法, 第一种就是一笔笔的循环插入
create table t1 as select * from user_tables where 1=0;
create table t2 as select * from user_tables where 1=0;
create table t3 as select table_name from user_tables where 1=0;
create or replace procedure Nor_Test
as
begin
for x in(select * from user_tables)
loop
insert into t1 values x;
end loop;
end;
第2种方法就是批量处理(insert全部字段):
create or replace procedure Bulk_Test1(p_array_size in number)
as
type array is table of user_tables%rowtype;
l_data array;
cursor c is select * from user_tables;
begin
open c;
loop
fetch c bulk collect into l_data limit p_array_size;
forall i in 1..l_data.count
insert into t2 values l_data(i);
exit when c%notfound;
end loop;
end;
insert部分字段:
create or replace procedure Bulk_Test2(p_array_size in number)
as
l_tablename dbms_sql.Varchar2_Table;
cursor c is select table_name from user_tables;
begin
open c;
loop
fetch c bulk collect into l_tablename limit p_array_size;
forall i in 1..l_tablename.count
insert into t3 values (l_tablename(i));
exit when c%notfound;
end loop;
end;
在性能方面批量处理有着很大的优势, p_array_size一般默认都是100
发表评论
-
Oracle plsql后台程序建议
2011-03-02 12:03 712个人改进建议: 1、游标取数时,采用批量取数的方法: ... -
oracle10g 的一个问题
2011-03-02 11:39 646oracle10g 的一个问题: 创建主键的时候, 默 ... -
Oracle视图使用
2011-02-15 17:13 0Oracle视图使用经验谈: 1、如果视图仅仅是 ... -
Oracle 10g 中的递归查询(树型查询)
2011-01-27 01:35 932Oracle 10g 中的递归查询(树型查询) 一、树型表 ... -
PLSQL 中Merge into和Update的用法
2011-01-27 01:31 1481在oracle 中有个语法:merge 用法如下: ... -
Oracle培训的总结
2011-01-27 01:30 701前段时间,因为要升级系统到Oracle环境,公司请了一位在 ... -
Oracle 培训材料
2011-01-27 01:29 629前段时间给公司做个Oracle培训,一直在学oracl ... -
Oracle 简单的SQL调优
2011-01-27 01:27 732今天刚看到一篇简单的SQL调优,自己也试了一下优化。原文如下: ... -
PL/SQL最差实践
2011-01-27 01:15 5711. 超长的PL/SQL代码 影响:可维护性,性能 ... -
大表变小表,小表再连接————记一次PL/SQL优化过程
2011-01-27 01:12 1248公司的业务系统中存在一个大的日志表,表大约是这样:cre ... -
PL/SQL用户指南与参考--PL/SQL应用程序性能调优(转)
2011-01-27 00:57 628PL/SQL应用程序性能调优 <!-- Instanc ... -
PLSQL 中Merge into和Update的用法
2011-01-18 20:42 1289这两天一直在处理关于SQL server存储过程转换到Orac ... -
PL/SQL优化
2011-01-18 19:51 839PL/SQL优化 注:O代表比X 更优化的写法。 以 ... -
Oracle SQL 内置函数大全
2009-03-25 21:25 634SQL中的单记录函数 1.ASCI ... -
PL/SQL中用光标查询多条记录
2009-03-25 21:19 738一、 什么是光标 Oracle ... -
PL/SQL开发中动态SQL的使用方法
2009-03-25 21:11 1125一般的PL/SQL程序设计中,在DML和事务控制的语句中可 ...
相关推荐
第五版的《Oracle PL/SQL程序设计》是学习和深入理解这一语言的关键资源。以下将详细介绍PL/SQL的基本概念、特性以及在实际开发中的应用。 1. **PL/SQL概述** - PL/SQL是Procedural Language/Structured Query ...
Oracle PL/SQL程序设计是数据库开发中的核心技能之一,尤其在企业级应用中广泛使用。本书《Oracle PL/SQL程序设计(第5版)》由O'Reilly出版社出版,为学习和理解Oracle数据库的PL/ZIP编程语言提供了丰富的示例代码...
这本书《Oracle PL/SQL程序设计》被誉为数据库程序设计领域的权威之作,深入浅出地介绍了如何利用PL/SQL进行高效、稳定的数据库开发。 PL/SQL(Procedural Language/Structured Query Language)是Oracle对SQL的...
《PL/SQL程序设计》是一份深入探讨Oracle数据库编程语言PL/SQL的学习资料。文档旨在通过简洁明了的例子,帮助读者全面理解并掌握PL/SQL的相关概念和技术。 PL/SQL,全称Procedural Language/SQL,是Oracle数据库...
PL/SQL Developer是一款由Allround Automations公司开发的专业Oracle数据库开发工具,专为编写、调试、测试和管理PL/SQL代码而设计。标题中的“pl/sql developer11.0”指的是该软件的第11个主要版本。在本文中,我们...
PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种结合了SQL语言与过程式编程的高级语言,主要用于数据库管理和应用程序开发。在这个“PL/SQL学习资料”压缩包中,包含了十一个PDF文件,覆盖了从基础到进阶的...
此外,PL/SQL程序可以被命名、存储在数据库中,并可由其他PL/SQL程序或SQL命令调用,具有很高的可重用性和跨平台性。安全性方面,Oracle提供了管理存储程序的安全机制,允许对不同用户的访问权限进行控制。最后,PL/...
"Oracle8 PL/SQL程序设计"是一本专门介绍这个主题的书籍,书中包含了大量的示例脚本,帮助读者深入理解PL/SQL的各个方面。这些脚本是用英文编写的,旨在让全球的开发人员都能理解和应用。 在提供的压缩包文件中,...
在Oracle数据库环境中,PL/SQL是开发高效、可靠和可维护的数据库应用程序的关键工具。以下是对"Oracle PL/SQL学习官方教材"中可能包含的主要知识点的详细解释: 1. **基础概念**:首先,教材会介绍PL/SQL的基本概念...
Oracle9i PL/SQL程序设计是数据库开发领域中一项重要的技术,主要针对Oracle 9i数据库系统进行程序逻辑的编写和实现。PL/SQL(Procedural Language/Structured Query Language)是Oracle公司为在其数据库系统上进行...
PL/SQL的程序设计涵盖了多个方面,包括过程和函数的创建、包的使用以及触发器的定义。过程和函数是PL/SQL中可重复使用的代码单元,它们可以接受参数并返回结果。包是包含过程、函数和其他相关项的集合,可以提供更好...
"Oracle8 PL/SQL高级程序设计"的主题涵盖了在Oracle8环境中使用PL/SQL进行复杂编程和数据库管理的核心概念和技术。 PL/SQL(Procedural Language/Structured Query Language)是SQL的扩展,它将SQL的查询能力与过程...
在《Oracle PL/SQL程序设计(第5版)下册》中,作者深入探讨了这一强大的工具,旨在帮助学习者掌握其精髓。本部分将详细解读该书可能涵盖的关键知识点。 1. **PL/SQL基础知识**:首先,书中会介绍PL/SQL的基本结构...
Oracle中的PL/SQL是一种强大的编程语言,它是Oracle数据库与应用程序之间的桥梁,专为数据库操作而设计。PL代表“过程化语言”(Procedural Language),SQL则是“结构化查询语言”(Structured Query Language)。...
2. **PL/SQL编程**:PL/SQL工具支持创建、修改和调试存储过程、函数、触发器和包等PL/SQL程序单元。这使得开发者能够将业务逻辑封装在数据库内,提高性能并减少与数据库的交互次数。 3. **数据库对象管理**:这些...
**PL/SQL Developer** 是一款专为 Oracle 数据库开发人员设计的强大工具,旨在帮助他们高效地编写、调试及优化 PL/SQL 代码。本指南将详细介绍 **PL/SQL Developer 11** 的主要功能与使用方法。 #### 二、安装 ####...
- 设计安全的PL/SQL程序非常重要,需要考虑数据加密、权限管理和审计日志等方面。 通过以上介绍,我们可以看到,《精通Oracle PL/SQL: 实用解决方案》这本书不仅覆盖了PL/SQL的基础概念和语法,还深入探讨了许多...
《PL/SQL Developer 7.0 用户指南》是一份详尽的指南,旨在帮助用户理解和掌握如何使用PL/SQL Developer工具进行高效地开发、测试和优化PL/SQL程序。 #### 二、系统安装与配置 ##### 2.1 系统需求 - **硬件要求**:...