`
xiongpan0807
  • 浏览: 16593 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle批量操作

阅读更多
以下代码是在学习oracle时,用于练习的代码,
批量可以很好的解决效率问题

---建表
create table test2(
id number (6),
name varchar2 (10)
)

delete test2;
select * from test2;

------批量的插入
declare
 type id_table is table of number(6 ) index by binary_integer ;
 type name_table is table of varchar2(10 ) index by binary_integer ;
 v_ids id_table;
 v_names name_table;
 starttime number( 10);
 endtime   number(10 );
 begin
   starttime:=dbms_utility.get_time;
 for i in 1 ..100000 loop
   v_ids(i):=i;
   v_names(i):=to_char(i)|| 'he';
 end loop;
/************************************************************************
     需要注意的是这里并不是循环,而是一次性把很多条记录一起插入到了数据库
     forall i in 1 ..v_ids.count 语法为     forall 索引 in 开始..结束
*************************************************************************/
 forall i in 1 ..v_ids.count
   insert into test2(id ,name) values(v_ids(i),v_names(i));
   endtime:=dbms_utility.get_time;
   dbms_output.put_line(endtime-starttime);
 end;
------使用批量得出的结果为18 



 ---使用循环进行插入
declare
starttime number( 10);
endtime   number(10 );
begin
  starttime:=dbms_utility.get_time;
  for i in 1 ..100000 loop
      insert into test2(id, name) values (i,to_char(i)||'he');
      end loop ;
   endtime:=dbms_utility.get_time;
   dbms_output.put_line(endtime-starttime);
end;
----时间长度为262
从时间上看,效率相差最少10倍


----另外的一个批量操作(bulk collect)
declare
 type test_table is table of  test2% rowtype index by binary_integer;
 v_testtable test_table;
begin
/********************************************************************
   . bulk collect语法:       .......... bulk collect into collectName
********************************************************************/
 
  select * bulk collect into v_testtable from test2;
  dbms_output.put_line(v_testtable.count);
end;


分享到:
评论

相关推荐

    kettle oracle批量加载-Oracle Bulk Loader

    kettle快速加载到oracle之oracle批量加载-Oracle Bulk Loader

    C#实现Oracle数据批量导入

    C#实现Oracle数据批量导入 在本文中,我们将讨论如何使用C#语言实现对Oracle数据库的批量数据导入功能。本文的主要内容包括如何使用Oracle.DataAccess.Client命名空间来实现批量导入功能,以及如何使用SqlBulkCopy...

    ORACLE批量更新四种方法.txt ORACLE批量更新四种方法.txt

    ### Oracle 批量更新四种方法详解 #### 一、背景介绍 在数据库管理与应用开发过程中,经常需要对大量数据进行更新操作。特别是在Oracle数据库环境下,如何高效地执行批量更新,成为了提高系统性能的关键因素之一。...

    java操作Oracle批量入库

    以上就是Java操作Oracle批量入库的基本步骤和注意事项。在实践中,还需要根据具体的应用场景和需求进行调整和优化。如果你想要查看更详细的代码示例和实践技巧,可以参考给出的博文链接:...

    Oracle中多表关联批量插入批量更新与批量删除操作

    在实际应用中,可以通过存储过程、事务处理或编程语言(如Java)的批处理功能来实现更复杂的批量操作逻辑。 总的来说,理解并熟练掌握Oracle中多表关联的批量插入、更新和删除操作,能够有效优化数据库性能,提高...

    Oracle批量执行传多个参数多个SQL文件

    首先,理解"Oracle批量执行传多个参数多个SQL文件"的含义:这通常涉及编写一个主脚本,该脚本能够接收多个参数,并依次对每个参数执行相应的SQL文件。这样的方法可以极大地提高工作效率,避免手动逐个运行SQL脚本的...

    ORACLE 批量更新三种方式比较

    ### ORACLE 批量更新三种方式比较 在Oracle数据库中,有时我们需要对大量数据进行更新操作,这在很多业务场景中都非常常见。针对这一需求,本文将详细介绍并比较三种常用的批量更新方法:通过PL/SQL循环更新、使用...

    oracle批量删除数据

    ### Oracle批量删除数据知识点 #### 一、Oracle批量删除数据的优势...通过以上分析,我们可以看到Oracle批量删除数据不仅能够有效提升数据处理效率,而且在实现过程中还需要考虑多种因素来确保操作的安全性和稳定性。

    C# Oracle批量插入数据进度条的实现代码

    在插入操作运行时,会造成系统短暂的“卡死”现象。为了让用户知道插入的状态,需要制作一个进度条来显示插入的进度。 批量插入 项目中运用的是System.Data.OracleClient。首先将Excel数据通过转换函数转换为...

    oracle、sql数据库批量建索引

    在数据库管理中,索引是...无论是Oracle还是SQL Server,理解如何批量操作索引,以及何时何地创建索引,都是数据库管理员必备的技能。通过合理的设计和管理,索引能够极大地提升查询效率,进而优化整个系统的运行效率。

    Oracle批量保存

    在C#中使用ODAC进行Oracle批量保存,主要涉及以下几个步骤: 1. **创建OracleConnection对象**:首先,我们需要创建一个`OracleConnection`对象,通过提供有效的数据库连接字符串来初始化。 2. **开启事务**:为了...

    springboot项目在Oracle下测试批量添加和批量删除

    springboot项目在Oracle下测试批量添加和批量删除,...项目测试了Oracle下添加,删除数据,批量添加和批量删除操作。使用sprignboot自带的test进行测试。本项目所使用的sql文件在resources下,自己plsql执行下即可。

    java代码oracle数据库批量插入

    批量插入操作 - **禁用自动提交**: 为了提高批量插入的效率,可以通过`con.setAutoCommit(false);`禁用自动提交功能。这样可以在一次网络往返中执行多条SQL语句,减少网络开销。 - **创建PreparedStatement**: 通过...

    批量修改Oracle序列值的存储过程

    这时,可以编写存储过程来实现批量操作。 博客提供的`seq.sql`文件可能包含了这个存储过程的定义。通常,这样的存储过程会接受序列名称和新的当前值作为参数,然后通过动态SQL来修改序列。例如: ```sql CREATE OR ...

    oracle快速批量生成表和触发器和序列.zip

    这个压缩包文件“oracle快速批量生成表和触发器和序列.zip”显然是为了帮助用户快速完成这类操作。下面将详细介绍这些概念以及如何在Oracle中实现它们。 1. **表(Table)**:在Oracle数据库中,表是存储数据的主要...

    oracle批量添加主键

    本篇文章将详细讲解如何在Oracle数据库中批量添加主键。 首先,我们可以通过SQL查询来找出所有没有主键的表。以下是一个示例查询: ```sql SELECT table_name FROM user_tables a WHERE NOT EXISTS ( SELECT * ...

    图片批量导入oracle数据库

    总之,批量导入图片到Oracle数据库是一项涉及到Java编程、JDBC连接、SQL操作以及文件处理的任务。掌握这些技能对于处理大量图片数据的数据库应用至关重要,无论是Web应用、数据分析还是其他领域。通过理解和实践,你...

    Oracle.DataAccess.dll x64 x86 批量操作

    这个库包含了对Oracle数据库进行各种操作的类和方法,包括但不限于连接、查询、事务处理、批量操作等。在本案例中,我们重点关注的是针对Oracle数据库的批量操作功能,特别提到了x64和x86两种架构的版本。 批量操作...

Global site tag (gtag.js) - Google Analytics