在Oracle数据库中同时更新两张表的简单方法
以前只会写一些简单的updaet语句,比如updae table set c1='XXX' 之类的 今天遇到一个数据订正的问题,项目背景如下,有个表A,有两个字段a1,a2还有一个关联表B,其中也有两个字段,b1和b2。其中a2和b2是关联的,想把A中的字段a1更新成B中的b1 理论上sql应该挺好写的,但是在oralce中实现了半天一直报语法错误。而且确实还有些小小细节没有注意到。 首先上测试数据 表1,ZZ_TEST1 表2,ZZ_TEST2 要把表一的text更新成表二的text1值,对应的sql如下: 后面的where条件表示一个限制条件,只更新那些符合条件的数据,也可以写成 另外还有一种merge的写法,对应的sql如下: when matched thenupdate set t1."text"=t2."text1" 为了避免T2中有多条数据对应T1中的数据,可以把sql改成如下的方式: 还有一种update from 的语法,经过测试在oracle和mysql中不适用
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |