update A set (A.aa)=(nvl((select B.aa from B where B.aid=A.id ),A.aa))
update A set (A.aa)=((select B.aa from B where B.aid=A.id )) where exists(select 1 from b where B.aid =A.id)B表 可能是一个查询结果 求优化 谢了
update A set (A.aa)=((select B.aa from B where B.aid=A.id )) where exists(select 1 from b where B.aid =A.id)B表 可能是一个查询结果 求优化 谢了
解决方案 »
- 急啊,请教oracle 的定时job
- DB2 转 oracle (急) 关于建立服务的
- 急!急!急!!Oracle Enterprise Manager Database Control以SYS用户登陆数据库时出现问题????
- 应该算是非常难度的Sql把不知道高手是不是很不屑呢?
- pl/sql导出数据失败,有失败日志!
- 哪位大虾可以提供一下oracle内置函数的源码或者说明其算法原理
- ORA-00603: ORACLE server session terminated by fatal error
- 如何删去Oracle表中的重复记录??
- Oracle 8i安装完成后,在DOS窗口输入svrmgrl命令,却得到ORA-12560: TNS :协议适配器错误
- ORACLE数据库取前10名的排序方法
- oracle 触发器
- 谁用过oracle触发器?
where exists(select 1 from b where B.aid =A.id)这个应该是很可以的了吧
--如果返回多条,你也没法更新啊,那却一条得了
update A set (A.aa)=((select max(B.aa) from B where B.aid=A.id )) where exists(select 1 from b where B.aid =A.id)
UPDATE A SET AA=(SELECT B.AA FROM (SELECT ...FROM ...) B WHERE B.AID=A.AID)
WHERE EXISTS(SELECT 1 FROM (SELECT ...FROM ...) B WHERE B.AID=A.AID)