ORACLE9i开始,可以通过 [INSERT ALL/INSERT FIRST] 来执行多表INSERT。
EG:
INSERT ALL
WHEN T.COL1 = 1 AND T.COL2 > 100 THEN --条件子句1
INTO TABLE_A
WHEN T.COL1 = 2 AND T.COL2 > 102 THEN --条件子句2
INTO TABLE_B
SELECT * FROM TEST T
分析:INSERT ALL 在执行的时候,会把满足条件子句1的记录INSERT到TABLE_A;
满足条件子句2的记录INSERT到TABLE_B;
SO:既满足条件子句1又满足条件子句2的记录,既要INSERT到TABLE_A,又要INSERT到TABLE_B;
INSERT FIRST
WHEN T.COL1 = 1 AND T.COL2 > 100 THEN --条件子句1
INTO TABLE_A
WHEN T.COL1 = 2 AND T.COL2 > 102 THEN --条件子句2
INTO TABLE_B
SELECT * FROM TEST T
分析:INSERT FIRST 在执行的时候,如果一条记录满足条件子句1,那么就将该记录INSERT到TABLE_A,然后去校验下一条记录。如果不满足条件子句1,那么再去比较条件子句2,满足条件子句2则INSERT到TABLE_B,不满足则不做处理。
SO: 既满足条件子句1,又满足条件子句2的记录INSERT到TABLE_A.
分享到:
相关推荐
在数据库管理中,有时我们需要将数据从一个环境迁移到另一个环境,或者备份某些表的数据,这时“Oracle导出INSERT语句”的工具就显得非常实用。 这个小工具的核心功能是将Oracle数据库中的数据转换为一系列的INSERT...
4. **批量INSERT**:为了提高执行效率,工具可能会将多行数据合并为一个INSERT语句,每个语句包含多个VALUES子句。 5. **格式化输出**:生成的INSERT语句可能会自动进行格式化,便于阅读和编辑。 6. **输出格式**:...
在Oracle数据库中,进行多表关联的批量插入、批量更新和批量删除操作是常见的数据库管理任务,尤其是在处理大量数据时,这些操作能显著提高效率并减少资源消耗。本文将详细探讨这三个方面,并通过实例代码来展示如何...
Oracle 多表 Update 语句详解 在 Oracle 中,Update 语句是数据库操作中的重要组成部分。 Update 语句可以对数据库中的数据进行修改,更新和插入。今天,我们将讨论 Oracle 中的 Update 语句,包括 Update 语句的...
### ORACLE 多表查询与数据修改 ...通过本次实验的学习,您可以更加熟练地掌握Oracle数据库中的多表查询技巧,以及基本的INSERT、UPDATE和DELETE操作。这对于日常的数据库管理和开发工作都是非常有用的技能。
ORACLE INSERT INTO SELECT *FROM 分批提交例子
某些原因,删了一些自己用的函数,此包是我每次导数据老是用工具,如果要导特定几张表的话,如果用工具导入每次都找的够呛,所以花了一点时间写了此过程,如果发现问题或好的建议可以给我留言或者邮箱myrocket_2003@...
该工具的主要功能是提取Oracle数据库表中的记录,并自动生成相应的INSERT语句,格式化后的SQL语句便于在不同的Oracle实例或者其他的数据库系统中导入数据。这在数据库备份、数据迁移或测试环境数据初始化时非常有用...
oracle中insert, 插入批量插入及union
### Oracle 临时表用法详解 #### 一、背景与问题描述 在处理数据库操作时,经常遇到因数据量庞大而导致处理效率降低的问题。例如,某个报表中心的存储过程执行速度过慢,其中一个原因是该过程涉及到一个中间表,...
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了多种方式来复制表数据。在本文中,我们将深入探讨Oracle复制表数据的两种主要方法,并结合提供的“测试插入.sql”文件,理解其在实际操作中的应用。 首先...
表结构的创建比较简单,但是表的数据量太大,一时也想不到怎么把sqlserver表数据复制到oracle中,于是请教公司主管,用存储过程实现可以查询出所有数据的insert脚本,在oracle库中创建好表,直接把sqlserver中的...
### Oracle 11i 表结构详解 #### 一、Oracle 11i 概述 Oracle 11i 是一款强大的企业级数据库管理系统,它提供了丰富的功能来满足各种复杂的应用场景需求。在Oracle 11i中,表是存储数据的基本单元之一,通过合理的...
Oracle 查看表历史记录和恢复 Oracle 数据库是一种关系型数据库管理系统,具有强大的数据存储和管理能力。然而,在实际操作中,数据库管理员或开发者可能会不小心删除了重要数据,这时候如何恢复这些数据成了一个...
在深入探讨如何利用Oracle触发器备份表数据之前,我们首先需要理解几个关键概念:Oracle数据库、触发器以及备份策略。Oracle数据库是全球领先的数据库管理系统之一,以其强大的性能、可靠的安全性和丰富的功能受到...
2. OracleDB批量Insert操作: Oracle是一个关系型数据库,它支持通过`BULK COLLECT INTO`和`FORALL`语句实现批量插入。在Java中,可以使用JDBC的`PreparedStatement`对象的`setBatch()`方法来设置一组SQL插入语句,...
oracle锁机制的级别越高,影响的操作越多。级别1的锁有Select操作,有时会在v$locked_object表中出现。级别2的锁有Select for update、Lock For Update、Lock Row Share select for update操作,当对话使用for ...
1. 外部表不能使用DML语句(如INSERT, UPDATE, DELETE)进行修改,因为数据实际上存储在数据库之外的文件中。 2. 外部表的数据类型和格式必须与数据文件中的数据相匹配。 3. 如果数据文件被移动或删除,外部表将无法...
- 减少RB的I/O:通过使用`CACHE`和`FULL`提示对源表执行全表扫描(FTS),使其尽可能多地进入buffer cache。 - 减少RC的I/O:设置更大的`SORT_AREA_SIZE`参数(若未使用PGA_AGGREGATE_TARGET则直接设置)。 - ...
insert into 表1 (字段1,字段2) values (1,2),(2,3),(3,4); 这条语句在mysql中执行的话,语法一点毛病都没有,但是,在oracle上执行一直报错: ORA-00933: SQL 命令未正确结束 后来有了如下的解决办法: /* --一...