`

oracle中update多行数据

阅读更多
A表aId,aName   B表bId,bName  现在假设两张表里面的数据行数是相等的,现在要更新A表里面的每一行的aNmae,条件是依据B表里面的bId;
在SQL Server中好像可以这么写:
update A set aName=b.bName from A a,B b where a.aId=b.bId 这个效率应该很会快
而Oracle里面却只有写成这样:
update A a set a.aName=(select b.bName from B b where a.aId=b.bId)
这样的话,假如A,B两张里面各有10000条数据,那么它要全表扫描10000*10000次,就会出现效能问题
那么在oracle里面有什么别的办法来改善吗?
分享到:
评论

相关推荐

    ORACLE_UPDATE_语句语法与性能分析

    在Oracle数据库中,UPDATE语句是用于修改已存在数据的基本操作之一。在上述示例中,我们看到三种不同的UPDATE语句形式,它们各自处理特定的情况并具有不同的性能特点。 1) **最简单的形式**: 这种情况下,我们更新...

    oracle SQL 语句插入数据

    你也可以一次插入多行数据,使用`INSERT ALL`语句: ```sql INSERT ALL INTO Employees (ID, Name, Salary) VALUES (1001, '张三', 5000) INTO Employees (ID, Name, Salary) VALUES (1002, '李四', 6000) SELECT...

    C#访问oracle数据库类,带blob字段读写

    Oracle数据库提供了一个名为ODP.NET(Oracle Data Provider for .NET)的数据访问组件,它允许C#应用程序直接与Oracle服务器进行交互。通过ODP.NET,我们可以创建连接、执行SQL命令以及处理数据。 1. **执行非查询...

    oracle数据操作和控制语言详解

    * INSERT 语句:用于向表中添加行,行中可以有特殊数据字段,或者可以用子查询从已存在的数据中建立新行。 * UPDATE 语句:用于修改表中的数据。 * DELETE 语句:用于从表中删除一行或多行数据。 * SELECT FOR ...

    oracle中的子查询

    多行子查询是指子查询可能返回多行数据的情况。这类子查询通常与多行运算符(如`IN`、`ANY`、`ALL`等)一起使用。 **示例**: ```sql SELECT last_name FROM employees WHERE salary IN (SELECT salary FROM ...

    Oracle7-操纵数据.docx

    INSERT语句有两种基本形式:一种是使用VALUES子句插入单行或多行数据,另一种是通过子查询将数据从一个表复制到另一个表。 1. 使用VALUES子句插入数据 - 不指定列名时,需按照表的列顺序提供值。 - 指定列名时,...

    Oracle10G管理数据和并发处理ppt

    在Oracle 10G中,`INSERT`命令用于向表中添加新记录,可以一次性插入一行数据,也可以通过另一表的数据插入多行。`UPDATE`命令则用来修改表中已存在的记录,可以更新零行或多行。`DELETE`命令用于从表中移除数据,...

    ORACLE常用的SQL语法和数据对象 CHM

    在Oracle中,数据对象主要包括: 1. **表**:存储数据的基本单元,由一系列列组成,每个列有特定的数据类型。 2. **列**:表中的字段,用于存储特定类型的数据,如整数、字符串、日期等。 3. **主键**:表中的一...

    update语句

    标题中的“update语句”指的是在数据库管理中用于修改现有数据的SQL命令。在数据库操作中,`UPDATE`语句是不可或缺的一部分,它允许我们更改表中的特定行或所有行的数据。下面将详细介绍`UPDATE`语句的工作原理、...

    Oracle游标使用方法及语法大全

    显式游标允许在循环中处理多行数据,或者在不将所有数据一次性加载到变量中时使用。声明显式游标的基本语法如下: ```sql DECLARE cursor_name CURSOR FOR select_statement; variable_name column_data_type; ...

    OCI连接oracle数据库(c++)实现

    6. **游标操作**:OCI支持游标,允许你处理多行数据。`OCICursor()`函数创建游标,而`OCIFetchNext()`则用于移动游标到下一行。 7. **事务管理**:通过`OCITransStart()`开始事务,`OCITransCommit()`提交事务,`...

    oracle中游标的使用

    Oracle游标是数据库管理系统中的一种重要机制,它允许我们逐行处理查询结果,尤其是在面对返回多行记录...通过理解并熟练应用这些Oracle游标管理技巧,我们可以更有效地处理数据库中的多行记录,实现更灵活的数据操作。

    071-最新.pdf

    在Oracle数据库中,INSERT语句可以插入单行或多行数据。 B. UPDATE SET语句可以基于多个条件修改多行数据。这也是正确的。UPDATE语句可以使用WHERE子句来指定条件,从而更新多行数据,使其符合特定条件。

    Oracle数据控制语句详解

    Oracle 数据控制语句详解 ...总结,Oracle 中的 DML 语句如 INSERT、UPDATE 和 DELETE 负责数据的增、删、改,而 DCL 语句则关注数据的控制和权限管理。了解这些语句的用法对于高效管理和维护 Oracle 数据库至关重要。

    自己总结的数据库oracle视图用法

    - `UPDATE`和`DELETE`操作可能受到限制,如果更新的列没有直接来源于基础表,或者更新会涉及多行到单行的转换,Oracle将不允许执行。 - `INSERT INTO`视图可以创建新的行,但这通常要求视图是"可插入的",即视图的...

    Oracle 10G 参考手册 Oracle SQL Reference pdf

    Oracle 10G SQL Reference是Oracle数据库系统的重要文档之一,主要涵盖了在Oracle 10G环境中执行SQL查询、数据操作和数据库管理的核心概念和技术。这个参考手册为数据库管理员(DBA)、开发人员以及数据分析师提供了...

    ocp_071 oracle ocp

    在提供的内容中,涉及到了INSERT语句能够一次性添加多行数据,以及UPDATE语句在某些情况下可能只能修改一行数据的情况。 Oracle OCP 071 考试题库涵盖了数据库概念、SQL编写、数据操纵、模式对象创建与管理、以及...

    oracle处理的类型 oracle行排序

    可以一次性插入一行,也可以通过SELECT语句从其他表中插入多行数据。 - UPDATE:用于修改现有记录的数据。可以更新单个或多个字段,并可以通过WHERE子句指定更新条件。 - DELETE:用于从表中删除记录。同样,WHERE...

    oracle数据库学习资料

    在Oracle中,SQL语句包括了选择数据(SELECT)、插入数据(INSERT)、更新数据(UPDATE)、删除数据(DELETE)以及更复杂的DML(数据操纵语言)和DDL(数据定义语言)操作,如创建表、视图、索引等。了解并熟练掌握...

Global site tag (gtag.js) - Google Analytics