update a set name=(select max(name) from b where b.id=a.id)
where exists(select 1 from b where b.id=a.id);
where exists(select 1 from b where b.id=a.id);
解决方案 »
- 求助:关于pl/sql中如何把一个PACKage从数据库导入另一个数据库
- java_pool_size的大小显示的不一样??
- 重启后oracle速度一下子变慢了
- ORA-01652和ORA-27059错误,怎么解决,在线等
- 安装到配置工具Agent Configuration Assistant的界面就不动了
- 每次使用数据库时都要关闭再打开?如何解决呢?
- Oracle有可以安装在98上的产品吗?那里有下载?请介绍oracle的中文站点,
- oracle 如何根据季度得出月份?
- (高分求解)数据库条记录中,查询出来总共的 Q值,以及,最大的P值,最大P值对应发生的时间。
- 求助!表名是变量,查询数据怎么查?
- 一个sql的存储过程,在oracle这么改写?
- WE8ISO8859P1字符集是怎么回事??它支持中文,英文以外的其它字符集吗??比如韩文,日文等?
能解释一下吗?
在这里MAX()的作用是什么?不用就不行
为什么要EXISTS呢?不用可以吗
exists 是防止 将没有对应关系的数据 更新 为null.这样写是必需的。
update a set name=(select name from b where b.id=a.id and rownum = 1)
where exists(select 1 from b where b.id=a.id);
where exists(select 1 from b where b.id=a.id);
按照上面
有错误,说什么不能更新表A,有NULL