oracle update set select from 关联更新
来源:互联网 发布:稻谷出糙率计算数据 编辑:程序博客网 时间:2024/05/17 22:27
SQL>select * from wwn2;TOWN ID-------------------- ----------222 222111 111ww'jj 111llll 1111dddd 2222lllldf 111lllldf 111dsafdf 1113435 111ljjjjj 222dsafdf 1113435 111ljjjjj 222SQL> select * from wwm5; TOWN ID-------------------- ----------lllldf 111test 9984SQL> select wwm2.* from wwm2,wwm5 where wwm2.id=wwm5.idTOWN ID-------------------- ----------111 111ww'jj 111lllldf 111lllldf 111dsafdf 1113435 111dsafdf 1113435 1118 rows selected.--需要更新8条数据是正确的下面是一个错误的做法:SQL> update wwm2 set wwm2.town=(select wwm5.town from wwm5 where wwm5.id=wwm2.id)13 rows updated.SQL> select * from wwm2;TOWN ID-------------------- ---------- 222lllldf 111lllldf 111 1111 2222lllldf 111lllldf 111lllldf 111lllldf 111 222lllldf 111lllldf 111 22213 rows selected.--可以看到13条记录被更新,符合条件的更新正确,不符合条件的也更新为NULL.以下是正确的方法
解决方法:方法一:SQL> update wwm2 2 set town=(select town from wwm5 where wwm5.id=wwm2.id) 3 where id=(select wwm5.id from wwm5 where wwm5.id=wwm2.id)
方法二:SQL> update wwm2 set town=(select town from wwm5 where wwm5.id=wwm2.id) where exists (select 1 from wwm5 where wwm5.id=wwm2.id)
方法三: 1 declare 2 cursor cur_wwm is select town,id from wwm5; 3 begin 4 for my_wwm in cur_wwm loop 5 update wwm2 set town=my_wwm.town 6 where id=my_wwm.id; 7 end loop; 8 end;
说明:如果select 子句可以返回多行记录,但返回适合where条件的记录只能是唯一的,否则将会报返回单行的select子句返回多行的错误,因为update只能跟据此处的where子句(内层where)进行相应记录的匹配更新,一次只能是一条。
原文点这里
0 0
- oracle update set select from 关联更新
- oracle 实现 关联两个表更新 update select
- UPDATE SET a.id = (select) 关联多张表更新多条记录
- mysql下使用update set from select
- mysql下使用update set from select
- mysql下使用update set from select
- mysql下使用update set from select
- 多表关联更新,UPDATE FROM用法
- sqlserver/oracle update set from 写法
- sqlserver/oracle update set from 写法 .
- oracle UPDATE 多表关联更新
- Oracle 多表关联更新update
- Oracle Update多表关联更新
- Oracle如何在update中多表关联更新
- ORACLE 关连更新 update select
- ORACLE 关连更新 update select
- ORACLE 关连更新 update select
- oracle update select (更新查询的sql)
- hdu4714 树形dp
- Zookeeper--Apache ZooKeeper Watcher 机制源码解释
- Android中Context详解 ---- 你所不知道的Context
- vulakn教程--Drawing a Triangle--Draw--Framebuffer
- pat 03-树2 List Leaves(mooc 陈越、何钦铭-数据结构)
- oracle update set select from 关联更新
- leetcode 58. Length of Last Word
- 结巴分词流程图
- 实现矩阵的转置&原矩阵与转置后矩阵的乘机
- Point类的定义
- 【题解】 2016 ACM/ICPC Asia Regional Qingdao Online (6+5)
- JAVA 初学 i18n 国际化
- 第四周项目2-建设“单链表”算法库
- 撕衣服源码