`

oracle 批量更新 insert(转)

阅读更多
前言:
所谓的批量更新,是指将多个记录放在一个实体类中。然后将多个实体类存到一个数据里面,
然后将这个数据放到存储过程中,进而遍历这个数组,进行批量操作!
以下为转载内容


在PL/SQL中是没有数组(Array)概念的。但是如果程序员想用Array的话,就得变通一下,用TYPE 和Table of Record来代替多维数组,一样挺好用的。
emp_type 就好象一个table 中的一条record 一样,里面有id, name,gender等。emp_type_array 象个table, 里面含有一条条这样的record (emp_type),就象多维数组一样。

--单维数组
DECLARE
TYPE emp_ssn_array IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;

best_employees emp_ssn_array;
worst_employees emp_ssn_array;

BEGIN
best_employees(1) := '123456';
best_employees(2) := '888888';

worst_employees(1) := '222222';
worst_employees(2) := '666666';

FOR i IN 1..best_employees.count LOOP
DBMS_OUTPUT.PUT_LINE('i='|| i || ', best_employees= ' ||best_employees(i)
|| ', worst_employees= ' ||worst_employees(i));
END LOOP;

END;

--多维数组
DECLARE

TYPE emp_type IS RECORD
( emp_id employee_table.emp_id%TYPE,
emp_name employee_table.emp_name%TYPE,
emp_gender employee_table.emp_gender%TYPE );

TYPE emp_type_array IS TABLE OF emp_type INDEX BY BINARY_INTEGER;

emp_rec_array emp_type_array;
emp_rec emp_type;

BEGIN
emp_rec.emp_id := 300000000;
emp_rec.emp_name := 'Barbara';
emp_rec.emp_gender := 'Female';

emp_rec_array(1) := emp_rec;

emp_rec.emp_id := 300000008;
emp_rec.emp_name := 'Rick';
emp_rec.emp_gender := 'Male';

emp_rec_array(2) := emp_rec;

FOR i IN 1..emp_rec_array.count LOOP
DBMS_OUTPUT.PUT_LINE('i='||i
||', emp_id ='||emp_rec_array(i).emp_id
||', emp_name ='||emp_rec_array(i).emp_name
||', emp_gender = '||emp_rec_array(i).emp_gender);
END LOOP;

END;
用下面语句声明数组类型
type intarray is varry(30) of integer;

用下面语句声明一个数组变量
declare
A intarray;用下面语句声明数组类型
type intarray is varry(30) of integer;

用下面语句声明一个数组变量
declare
A intarray;用下面语句声明数组类型
type intarray is varry(30) of integer;

用下面语句声明一个数组变量
declare
A intarray;
分享到:
评论

相关推荐

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

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

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

    在Oracle数据库中,进行多表关联的批量插入、批量更新和批量删除操作是常见的数据库管理任务,尤其是在处理大量数据时,这些操作能显著提高效率并减少资源消耗。本文将详细探讨这三个方面,并通过实例代码来展示如何...

    oracle中insert, 插入批量插入及union

    oracle中insert, 插入批量插入及union

    Oracle导出INSERT语句V1.1

    4. **批量INSERT**:为了提高执行效率,工具可能会将多行数据合并为一个INSERT语句,每个语句包含多个VALUES子句。 5. **格式化输出**:生成的INSERT语句可能会自动进行格式化,便于阅读和编辑。 6. **输出格式**:...

    Oracle导出INSERT语句

    此外,如果数据量巨大,直接运行大量INSERT语句可能会对数据库性能造成影响,因此可能需要分批执行或利用批量插入的优化策略。 总的来说,“Oracle导出INSERT语句”工具简化了数据迁移过程,提供了灵活的数据备份...

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

    考虑到当Excel数据量较大时,循环Insert语句效率太低,故采用批量插入的方法。在插入操作运行时,会造成系统短暂的“卡死”现象。为了让用户知道插入的状态,需要制作一个进度条来显示插入的进度。 批量插入 项目中...

    C#实现Oracle数据批量导入

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

    excel文件中批量生成insert语句

    在IT行业中,数据库管理和数据导入是一项常见的任务,尤其是在初始化系统数据或进行批量数据更新时。Excel作为一种常用的电子表格工具,可以有效地帮助我们处理和组织数据。本文将详细讲解如何在Excel文件中批量生成...

    ORACLE INSERT INTO SELECT *FROM 分批提交例子

    ORACLE INSERT INTO SELECT *FROM 分批提交例子

    java代码oracle数据库批量插入

    ### Java代码实现Oracle数据库批量插入的关键知识点 #### 1. JDBC连接配置 - **JDBC URL**: `jdbc:oracle:thin:@IP:1521:orcl`,这里的URL指定了连接到Oracle数据库的方式。其中`@IP:1521:orcl`中的IP是指数据库...

    Java实现mybatis批量插入数据到Oracle

    本篇文章将详细介绍如何利用Java和MyBatis实现批量插入数据到Oracle数据库中。 首先,我们需要理解Oracle数据库的一些基本概念。Oracle是世界上最流行的商业关系型数据库管理系统之一,以其强大的功能和高可靠性而...

    oracle ODP.NET 批量插入或更新

    ### Oracle ODP.NET 批量插入或更新技术详解 #### 一、背景介绍 在数据库操作中,批量处理数据是一项非常重要的技术。特别是在处理大量数据时,如何高效地执行批量插入或更新操作对于提高应用程序性能至关重要。...

    java操作Oracle批量入库

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

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

    在Oracle数据库管理中,批量生成表、触发器和序列是一项常见的任务,特别是在系统初始化或数据迁移时。这个压缩包文件“oracle快速批量生成表和触发器和序列.zip”显然是为了帮助用户快速完成这类操作。下面将详细...

    mongdb和oracledb已经access数据的batchInsert操作

    2. OracleDB批量Insert操作: Oracle是一个关系型数据库,它支持通过`BULK COLLECT INTO`和`FORALL`语句实现批量插入。在Java中,可以使用JDBC的`PreparedStatement`对象的`setBatch()`方法来设置一组SQL插入语句,...

    图片批量导入oracle数据库

    本话题聚焦于如何批量导入图片到Oracle数据库,这是一种常见的需求,特别是在处理大量图像数据的项目中。Oracle数据库作为一款强大的关系型数据库管理系统,支持多种类型的数据存储,包括BLOB(Binary Large Object...

    oracle插入大数据量

    这个文件是用oracle的脚本的如的,往oracle中插入的数据量可能会使用

    Oracle+Mybatis的foreach insert批量插入报错的快速解决办法

    这个修改后的`<foreach>`标签将遍历集合中的每个元素,并使用`INSERT ALL`来构建合法的Oracle批量插入语句。最后的`SELECT * FROM dual`是为了确保Oracle执行完所有的`INTO`子句。 需要注意的是,如果你的表中有...

    oracle oci 批量插入源代码

    批量插入(Batch Insert)是提高数据导入效率的重要手段,尤其在需要处理大量数据时,能显著减少网络通信和数据库调用次数,从而提升性能。 以下是对"Oracle OCI 批量插入源代码"的详细说明: 1. **oci_batch_...

    mybatis+Oracle做批量导入时的坑

    在Java开发中,MyBatis框架与Oracle数据库结合进行批量数据导入时,可能会遇到一些问题。本文将详细探讨这些问题,并提供一种可行的解决方案。 首先,批量插入操作在DAO层,我们定义了一个`insertList`方法,它接收...

Global site tag (gtag.js) - Google Analytics