在oracle里更新数据

三种在oracle里更新数据的方式:

1.替换更新

case when 替换当一个字段为空时,用一个字段替换它

    select case when a is null then b else a end as data From A

2.插入更新

一个表的数据插入另一个表

    insert into table1 select * from table2

3.指定条件下更新指定列

3.1update简单更新

    update table1 set columnA=1 where columnB=100

3.2配合merge into大量更新

    merge into table1using

    (select *from table2 x  where  x.rowid =

    (select MAX(y.rowid) from  table2 y 

    where  x.columnA= y.columnA

    and x.columnB=y.columnB))

    table2 on(table1.columnA=table2.columnA

    and table1.columnB=table2.columnB)

    #【匹配前提条件后形成1对1的关系】

    when matched then update set

    table1.column1=table2.column1,

    table1.column2=table2.column2,

    table1.column3=table2.column3,

    table1.column4=table2.column4


注:在满足table1的某几列与table2某几列完全相同时,能够得到唯一的一行

table1的值,此时用table2 的内容去更新table1的指定列,一对一更新。



其中merge into最推荐使用,不易出错,且更新速度快。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 什么是SQL数据库: SQL是Structured Query Language(结构化查询语言)的缩写。SQL是...
    西贝巴巴阅读 2,049评论 0 10
  • 50个常用的sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname...
    哈哈海阅读 1,363评论 0 7
  • 1.数据库三范式是什么? 第一范式:表中每个字段都不能再分。 第二范式:满足第一范式并且表中的非主键字段都依赖于主...
    杰伦哎呦哎呦阅读 3,021评论 0 28
  • 数据库概念 定义1 数据库(database)是按照数据结构来组织、存储、管理数据的建立在计算机存储设备上的仓库 ...
    好好秦先生阅读 1,272评论 0 3
  • 岁月是一只空杯 酒斟满总喝干 酒是过客 杯中日月长 人生亦是一只空杯 满了便会溢出 不断放空自已 才可以装进新的东...
    且向洞庭赊月色阅读 535评论 0 7

友情链接更多精彩内容