oracle 增删改查常技巧:

oracle 更新的三个方法:
1、T2表的SEX等于T2表的SEX。这个方法只能对T2表进行WHERE更新,不能对T1表进行WHERE更新
update temp2 t2 set t2.sex=(select t1.sex from temp1 t1 where t1.id=t2.id)
where t2.age>50


2、T2表的SEX等于T2表的SEX。这个方法可同时对T1、T2表进行WHERE更新,且要更新的T2表中数据必须在T1中存在
update temp2 t2 set t2.sex=(select t1.sex from temp1 t1 where t1.id=t2.id)
where exists (select  1 from  temp1 t1 where t1.id=t2.id and t1.age>50 and t2.age>50) 


3、T2表的SEX等于T2表的SEX。这个方法可同时对T1、T2表进行WHERE更新,且要更新的T2表中数据必须在T1中存在
(这里由于使用了中间内存表,因此可以很方便地改变两表左、右、全、内连接的方法来控制要更新的T2表中的数据范围)
update (select t1.sex s1,t2.sex s2 from temp1 t1,temp2 t2 where t1.id=t2.id and t1.age>50 and t2.age>50)
set s2=s1

(注意:这个写法必须要求两张表关键条件的字段有唯一约束或主键约束,这也是为了保证查询的结果必须是一对一关系)


----未完待续-----

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值