`
lxf3339
  • 浏览: 61468 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

高效的PL/SQL程序设计--批量处理

阅读更多

批量处理一般用在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 PL SQL 程序设计 下 第五版

    第五版的《Oracle PL/SQL程序设计》是学习和深入理解这一语言的关键资源。以下将详细介绍PL/SQL的基本概念、特性以及在实际开发中的应用。 1. **PL/SQL概述** - PL/SQL是Procedural Language/Structured Query ...

    Oracle PL/SQL程序设计(第5版)示例代码

    Oracle PL/SQL程序设计是数据库开发中的核心技能之一,尤其在企业级应用中广泛使用。本书《Oracle PL/SQL程序设计(第5版)》由O'Reilly出版社出版,为学习和理解Oracle数据库的PL/ZIP编程语言提供了丰富的示例代码...

    Oracle.PL.SQL程序设计

    这本书《Oracle PL/SQL程序设计》被誉为数据库程序设计领域的权威之作,深入浅出地介绍了如何利用PL/SQL进行高效、稳定的数据库开发。 PL/SQL(Procedural Language/Structured Query Language)是Oracle对SQL的...

    PL/SQL程序设计.doc

    《PL/SQL程序设计》是一份深入探讨Oracle数据库编程语言PL/SQL的学习资料。文档旨在通过简洁明了的例子,帮助读者全面理解并掌握PL/SQL的相关概念和技术。 PL/SQL,全称Procedural Language/SQL,是Oracle数据库...

    pl/sql developer11.0

    PL/SQL Developer是一款由Allround Automations公司开发的专业Oracle数据库开发工具,专为编写、调试、测试和管理PL/SQL代码而设计。标题中的“pl/sql developer11.0”指的是该软件的第11个主要版本。在本文中,我们...

    pl/sql 学习资料

    PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种结合了SQL语言与过程式编程的高级语言,主要用于数据库管理和应用程序开发。在这个“PL/SQL学习资料”压缩包中,包含了十一个PDF文件,覆盖了从基础到进阶的...

    PL/Sql相关语法

    此外,PL/SQL程序可以被命名、存储在数据库中,并可由其他PL/SQL程序或SQL命令调用,具有很高的可重用性和跨平台性。安全性方面,Oracle提供了管理存储程序的安全机制,允许对不同用户的访问权限进行控制。最后,PL/...

    ORACLE8 PLSQL程序设计_sql_code.zip_oracle pl/sql_pl sql code_pl/sql_

    "Oracle8 PL/SQL程序设计"是一本专门介绍这个主题的书籍,书中包含了大量的示例脚本,帮助读者深入理解PL/SQL的各个方面。这些脚本是用英文编写的,旨在让全球的开发人员都能理解和应用。 在提供的压缩包文件中,...

    Oracle PL/SQL学习官方教材

    在Oracle数据库环境中,PL/SQL是开发高效、可靠和可维护的数据库应用程序的关键工具。以下是对"Oracle PL/SQL学习官方教材"中可能包含的主要知识点的详细解释: 1. **基础概念**:首先,教材会介绍PL/SQL的基本概念...

    Oracle9i PL/SQL程序设计 code部分

    Oracle9i PL/SQL程序设计是数据库开发领域中一项重要的技术,主要针对Oracle 9i数据库系统进行程序逻辑的编写和实现。PL/SQL(Procedural Language/Structured Query Language)是Oracle公司为在其数据库系统上进行...

    PL/SQL教学课件PPT,非常详细

    PL/SQL的程序设计涵盖了多个方面,包括过程和函数的创建、包的使用以及触发器的定义。过程和函数是PL/SQL中可重复使用的代码单元,它们可以接受参数并返回结果。包是包含过程、函数和其他相关项的集合,可以提供更好...

    Oracle8 PL/SQL高级程序设计.rar

    "Oracle8 PL/SQL高级程序设计"的主题涵盖了在Oracle8环境中使用PL/SQL进行复杂编程和数据库管理的核心概念和技术。 PL/SQL(Procedural Language/Structured Query Language)是SQL的扩展,它将SQL的查询能力与过程...

    oracle PL SQL 程序设计(第5版)下册

    在《Oracle PL/SQL程序设计(第5版)下册》中,作者深入探讨了这一强大的工具,旨在帮助学习者掌握其精髓。本部分将详细解读该书可能涵盖的关键知识点。 1. **PL/SQL基础知识**:首先,书中会介绍PL/SQL的基本结构...

    oracle 中 pl/sql 只是学习方法

    Oracle中的PL/SQL是一种强大的编程语言,它是Oracle数据库与应用程序之间的桥梁,专为数据库操作而设计。PL代表“过程化语言”(Procedural Language),SQL则是“结构化查询语言”(Structured Query Language)。...

    PL/SQL工具

    2. **PL/SQL编程**:PL/SQL工具支持创建、修改和调试存储过程、函数、触发器和包等PL/SQL程序单元。这使得开发者能够将业务逻辑封装在数据库内,提高性能并减少与数据库的交互次数。 3. **数据库对象管理**:这些...

    PL/SQL Developer 11用户指南

    **PL/SQL Developer** 是一款专为 Oracle 数据库开发人员设计的强大工具,旨在帮助他们高效地编写、调试及优化 PL/SQL 代码。本指南将详细介绍 **PL/SQL Developer 11** 的主要功能与使用方法。 #### 二、安装 ####...

    精通ORACLE PL/SQL

    - 设计安全的PL/SQL程序非常重要,需要考虑数据加密、权限管理和审计日志等方面。 通过以上介绍,我们可以看到,《精通Oracle PL/SQL: 实用解决方案》这本书不仅覆盖了PL/SQL的基础概念和语法,还深入探讨了许多...

    PL/SQL 手册

    《PL/SQL Developer 7.0 用户指南》是一份详尽的指南,旨在帮助用户理解和掌握如何使用PL/SQL Developer工具进行高效地开发、测试和优化PL/SQL程序。 #### 二、系统安装与配置 ##### 2.1 系统需求 - **硬件要求**:...

Global site tag (gtag.js) - Google Analytics