`
jerrychenjj
  • 浏览: 26771 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

oracle 的insert 与select结果集不一致的BUG

阅读更多
    最近工作,突然发现发现一个ORACLE的BUG, 就是INSERT与SELECT的结果集不一致,比如,加入A表中有10条记录,B表结构与A表一样,执行语句 INSERT B SELECT * FROM A,结果执行完后查询A表,无一条记录,怪哉。上网查看,原来是ORACLE的一个BUG,该BUG出现诡异,不知道真正触发的话需要什么条件,该BUG在ORACLE 10.0.2.4版本中解决了。但是针对自己实践,以下条件有可能触发:
     1. SELECT 的操作语句比较复杂,另外SELECT操作中涉及4张以上的表
     2. SELECT 操作中如果涉及2张以上的表,等值关联情况容易出现,将等值关联改为LEFT JOIN就OK,怪哉。
分享到:
评论
1 楼 wsdsgfuqiang 2011-03-08  
请问,如果insert的时候,select 后面出来的记录有多条 但是要求与其他字段拼起来插入的话 会有问题吗?
比如
insert table_a(column1,column2,column3)
select column1,column2,'abc' from table_b
     where column2 in (select column2 from table_c)

相关推荐

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

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

    select into和insert into select使用方法

    ### 使用Select Into与Insert Into Select进行表复制的方法 在数据库管理与操作中,`SELECT INTO`与`INSERT INTO SELECT FROM`是两种常见的用于复制或创建新表的方式。这两种语句虽然相似,但在实际使用场景中有着...

    Oracle导出INSERT语句V1.1

    4. **测试与验证**:在实际环境中使用前,先在一个测试环境中验证INSERT语句的正确性。 总的来说,“Oracle导出INSERT语句V1.1”是数据库管理员和开发人员的强大助手,它可以简化数据迁移和备份过程,提高工作效率...

    insert和select结合实现”插入某字段在数据库中的最大值+1″的方法

    本文是mysql 数据库 问题一 将表一的数据导入表二...在表中插入数据时,某一字段取数据库中该字段的最大值,并+1,这个问题很多人都说用存储过程什么的解决,其实使用insert 和 select 结合就可以很好的解决这个问题啊

    oracle_11gR2_07 数据操作(select,insert,update,delete) 和 常用函数

    oracle_11gR2_07 数据操作(select,insert,update,delete) 和 常用函数(count,max,min,avg,sum,decode,distinct)

    Oracle 大数据量操作性能优化

    Oracle 大数据量操作性能优化 Oracle大数据量操作性能优化是指在处理大量数据时,如何提高 Oracle 数据库的性能。该优化技术涉及到多个方面,包括分区、Direct Insert、并行和排序处理等。 分区是 Oracle 中的一种...

    jdbc连接oracle字符集不同出现乱码

    这种情况通常发生在远程 Oracle 数据库与本地 Oracle 数据库的字符集设置不一致的情况下。 在本案例中,远程 Oracle 数据库使用的字符集为 `AMERICAN_AMERICA.US7ASCII`,而本地 Oracle 数据库使用的字符集为 `...

    oracle 多表做update insert语句.docx

    Insert Into Select 语句可以将 Select 语句的结果插入到数据库中。例如: ```sql INSERT INTO table1 (field1, field2, ...) SELECT field1, field2, ... FROM table2; ``` 其中,`table1` 和 `table2` 是要插入的...

    shell连接oracle数据库执行SQL工具脚本-支持select+inset+update

    shell连接oracle数据库工具脚本:支持select/insert/update/delete 部署位置:/root/sysmonitor db:数据库文件夹 dbconfig.properties:数据库配置文件, dbConnectTest.sh:连接测试文件 dbExecurteSQL.sh:...

    oracle笔记 (导出、导入、创建用户、授权、insert,rownum)

    注意,ROWNUM的值是在查询执行过程中动态生成的,不保证与物理存储的顺序一致。 以上就是Oracle笔记中涉及的主要知识点。在实际操作中,还需要根据具体需求和环境调整相应的参数和策略,以确保数据的安全性和高效...

    Oracle各种select查询语法

    Oracle各种select查询语法 Oracle数据库管理系统提供了多种select查询语法,以下是常用的select查询语法和示例: 1、简单select查询语句 select * from emp; 该查询语句将查询emp表中的所有字段。 2、where...

    insert/update同时执行(mysql,oracle,sqlserver)

    判断是否存在,存在就update,不存在insert,不是用存储过程解决的。

    oracle执行update语句时卡住问题分析及解决办法

    这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住。由于我的java程序...

    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)

    在SQL中,表复制是常见的数据操作,主要通过两种语句来实现:`SELECT INTO` 和 `INSERT INTO SELECT`。这两种语句在SQL数据库和Oracle数据库中略有不同,下面将详细解析它们的工作原理和使用场景。 1. `INSERT INTO...

    oracle的update的五种方式

    Oracle 更新语句五种方式详解 Oracle 的更新语句是数据库管理系统中的一种基本操作,用于修改数据库表中的数据。更新语句的优化研究是数据库性能优化的重要组成部分。本文将详细介绍 Oracle 更新语句的五种方式,并...

    oracle sql语句(除select语句)

    标题与描述概述的知识点主要集中在IT领域中的数据库管理方面,特别是Oracle SQL语句的应用,涵盖了数据操作语言(DML)、数据定义语言(DDL)以及数据控制语言(DCL)。以下是对这些知识点的详细阐述: ### 数据...

    Oracle官方文档CHM合集-SQL参考手册 Oracle教程 Oracle开发

    6. **事务与并发控制**:Oracle支持事务(TRANSACTION),确保数据的一致性和完整性。同时,Oracle使用锁定机制和多版本并发控制(MVCC)来处理多个用户同时访问同一数据时的冲突问题。 7. **索引与优化**:索引...

    insert和select结合实现"插入某字段在数据库中的最大值+1"的方法

    **存储过程与`INSERT`+`SELECT`的比较** 有些人可能会建议使用存储过程来解决这个问题,这当然也是一种方法,但是使用`INSERT`和`SELECT`的组合可以在单个SQL语句中完成,简化了代码并减少了数据库交互次数,从而...

    ORACLE数据库字符集设置

    ### ORACLE数据库字符集设置详解 #### 一、引言 在使用ORACLE数据库时,字符集设置不当可能会导致汉字显示异常...此外,在开发过程中,还需要注意客户端与服务器端之间的字符集一致性,以确保数据的正确性和完整性。

    从Oracle数据库中读取数据自动生成INSERT语句的方法

    Oracle INSERT 语句 方法1 我估计有点 SQL 基础的人都会写 INSERT 语句。下面是 SQL 标准写法。 INSERT INTO employees (employee_id, name) VALUES (1, 'Zhangsan'); INSERT INTO employees VALUES (1, 'Shangbo')...

Global site tag (gtag.js) - Google Analytics