UPDATE A
SET A.a=(SELECT B.a FROM B WHERE A.a=B.c);
比较容易理解的,看看行不?
SET A.a=(SELECT B.a FROM B WHERE A.a=B.c);
比较容易理解的,看看行不?
解决方案 »
- 求 Oracle 8i Release3 (Oracle 8.1.7) For Solaris x86 (Solaris Intel)
- 帮忙看看这个SQL如何优化?
- TRIGGER ‘OF’ 问题:FORM中不可修改,而SQL/PLUS可以修改,如何使在FORM中也可以修改?
- 新手装10g的时候网络需求配置未监测,结果登陆时tns-12560,服务里面也没有oracle
- 快请进帮忙,有个问题需要您的提示
- 求助,求助,求助
- 使用临时表的问题?
- 在安装过程中,装到通用再点击下一步就弹出“找不到主机IP”的错误,点击忽略后进行到85%就再也不动了,请高手帮忙解决一下!谢谢
- !!!!!!!江湖救急:请问如何将服务器上的ORACLE数据库导到本机上,使两者一摸一样
- 求数据库的大神看看 菜鸟在这跪求了!!
- dmp是oracle数据格式吗?
- between函数的问题
SET A.a=(select B.a from B where B.c=A.a)
SET A.a=(select B.a from B where B.c=A.a)
where exists(select 1 from b where b.c=a.a)
SET A.a=B.a
FROM A,B
WHERE A.a=B.c中的where A.a=B.c即是關聯賦值的條件也是修改條件,而樓上幾位除了bobfang(匆匆过客) 的代碼之外,其它幾位的都把修改條件給丟了,這就出現了一個邏輯錯誤,雖然語法沒錯,但最終修改結果可能(我是說可能,在某些數據情形下,他們的修改結果也可能是一樣的)並不是你所想要的。另外還有如下一種寫法也可:
update a set a.a=(select b.a from b where b.c=a.a) where a.a in (select b.c from b);