`
dsttt09
  • 浏览: 28711 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle多表更新【转】

阅读更多

更多内容请参考:http://blueram.iteye.com/blog/618855

 

假设我们有test1,test2 两表

test1

        NO NAME

---------- ----------

         1 a

         2 b

         3 c

test2

        NO NAME

---------- ----------

         1 aa

         2 bb

 

如果要将test1表与test2NO字段相等的记录的name字段更新为与test2表中的name字段的值即以下效果:

test1

        NO NAME

---------- ----------

         1 aa

         2 bb

         3 c

 

那么以下的语句的效果为:

 

update test1 a set name=(select name from test2 b where a.no=b.no);

 

test1

        NO NAME

---------- ----------

         1 aa

         2 bb

         3

 

要出想要的效果,可以用下面的语句来实现.

 

update test1 a set name=(select name from test2 b where a.no=b.no) where
exists(select name from test2 b where a.no=b.no);

 

也可以用下面的语句来实现,前提是给test2表的NO设为主键:

 

alter table test2 add primary key(no);
update (select a.name aname,b.name bname from test1 a,test2 b where a.no=b.no) set aname=bname;

 

分享到:
评论

相关推荐

    oracle 普通表转分区表方式

    Oracle 普通表转分区表方式 Oracle 分区表(Partitioned Table)是一种特殊的表结构,可以根据不同的条件将数据分割成多个独立的分区,以提高查询效率和减少存储空间。本文将详细介绍将 Oracle 普通表转换为分区表...

    oracle普通表转化为分区表的方法

    Oracle数据库中的分区表是一种高级的表组织形式,它将大表分成多个较小的部分,每个部分称为一个分区,以提高查询性能和管理效率。当表的大小超过2GB时,官方推荐使用分区表,因为它们在处理大量数据时具有显著优势...

    MySql转换成Oracle工具

    可以将数据合并到已经存在的ORACLE表中 非常容易使用的向导模式 支持所有版本的Mysql字符集 对超大数据表的导出进行了优化处理 Convert Mysql to Oracle 功能限制 不能转换MYSQL的存储过程 Convert Mysql ...

    Oracle分区表详解

    通过将一个大型的表或者索引分割成多个较小且可管理的部分,分区技术能够显著提升数据库的性能、可用性和可维护性。 ##### 分区的作用: 1. **增强可用性**:即使表的一部分出现故障,其他部分的数据依然可以被...

    mysql数据库转换成oracle

    总的来说,将MySQL数据库转换为Oracle涉及到多个步骤,包括数据备份、导出、格式转换、导入和测试。使用合适的工具可以简化这一过程,但理解两者之间的差异和Oracle的最佳实践仍然是至关重要的。在实际操作中,应...

    ORACLE中CLOB字段转String类型

    ### ORACLE中CLOB字段转String类型 在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何...

    Oracle分区表用法

    - 表空间(Tablespace):在Oracle数据库中,表空间是存储数据的主要容器,由一个或多个数据文件组成。所有的数据库对象,尤其是表,都存储在特定的表空间内。表空间允许数据库管理员管理存储资源,确保数据的合理...

    oracle表结构导word工具

    "Oracle表结构导Word工具"就是为了解决这个问题而设计的,它能够将Oracle数据库中的表结构方便快捷地导出成Word文档,使得信息更易于阅读和共享。 这个工具的核心功能在于自动化生成表结构的详细文档,包括表名、...

    oracle汉字转拼音package包-支持UTF8

    总的来说,这个"oracle汉字转拼音package包-支持UTF8"是一个非常实用的工具,可以帮助我们在Oracle数据库环境中有效地处理汉字到拼音的转换问题,尤其适用于处理UTF8编码的多语言数据。正确理解和使用这个Package,...

    oracle批量修改汉字转拼音首字母的函数

    为了批量修改数据,你可以创建一个更新语句,结合这个函数来更新表中的字段。例如,假设你有一个包含汉字的`name`字段,可以这样更新: ```sql UPDATE your_table SET name_initial = get_initials(name) WHERE ...

    oracle姓名中文转全拼函数

    Oracle姓名中文转全拼函数是解决在Oracle数据库中处理中文姓名时的一个常见需求,特别是考虑到汉字的多样性和复杂性,包括生僻字和多音字的处理。此函数旨在将中文姓名转换为全拼,方便进一步的数据处理或搜索。下面...

    oracle(blob转换为clob)

    在实际应用中,一旦有了`blob_to_clob`函数,就可以轻松地在SQL语句中调用它,更新表中的数据。例如,`update gs_gift set p.description = blob_to_clob(p.description);`这行代码就是将`gs_gift`表中`p....

    Oracle本地管理表空间

    ### Oracle本地管理表空间知识点详解 #### 一、概述 **本地管理表空间**是Oracle 8i版本引入的一种新的表空间管理...随着Oracle版本的不断更新和发展,本地管理表空间已经成为现代Oracle数据库管理中的标准配置之一。

    oracle LongRaw 转 Blob

    在Oracle数据库中,LongRaw和Blob都是用于存储大对象(LOB)的数据类型,但它们有各自的特点和适用场景。在某些情况下,可能需要将LongRaw字段转换为Blob字段,这通常是因为Blob提供更好的管理和处理大型二进制数据...

    ORACLE 自动类型转换

    在插入或更新数据时,确保数据符合字段的数据类型。在查询时,使用显式转换函数确保数据处理的准确性。 6. **NULL处理**:在Oracle中,NULL值不能与任何其他值进行比较,包括NULL自身。因此,在涉及NULL值的类型...

    ORACLE中查找定位表最后DML操作的时间小结

    在Oracle数据库中,如何查找,定位一张表最后一次的DML操作的时间呢? 方式有三种,不过都有一些局限性,下面简单的解析、总结一下。 1:使用ORA_ROWSCN伪列获取表最后的DML时间  ORA_ROWSCN伪列是Oracle 10g开始...

    oracle字符集转换

    描述中的"双击对应的reg文件注册"可能是指导入一个预配置的注册表键,该键会更新Oracle客户端的NLS_LANG环境变量,使其与服务器的字符集保持一致。 NLS_LANG环境变量的格式通常为:“语言.TERRITORY.CHARACTERSET”...

    oracle汉字转拼音的函数代码

    本篇将详细讲解如何在Oracle中实现汉字转拼音的功能,以及介绍相关代码。 Oracle并没有内置的汉字转拼音函数,但我们可以自定义函数来实现这一功能。在描述中提到的资源中,有两个SQL脚本文件(GETHZPY_package.SQL...

    oracle数据表分区知识

    ### Oracle 数据表分区详解 #### 一、分区表理论知识 Oracle 提供了表分区功能以支持非常大型的数据库(VLDB)。通过分区技术,可以根据指定的分区键将数据分散到不同的物理位置,从而实现更高效的数据管理和查询...

Global site tag (gtag.js) - Google Analytics