方式一:
UPDATE TA a
SET m1 = (SELECT k1 FROM TB b WHERE a.id = b.id),
m2 = (SELECT k2 FROM TB b WHERE a.id = b.id),
m3 = (SELECT k3 FROM TB b WHERE a.id = b.id),
m4 = (SELECT k4 FROM TB b WHERE a.id = b.id);方式二:
for cur_value in (select id,k1,k2,k3 from TB )
loop
updte TA
set m1 = cur_value.k1,
m1 = cur_value.k1,
m1 = cur_value.k1,
m1 = cur_value.k1
where TA.id = cur_value.id;
end loop;
UPDATE TA a
SET m1 = (SELECT k1 FROM TB b WHERE a.id = b.id),
m2 = (SELECT k2 FROM TB b WHERE a.id = b.id),
m3 = (SELECT k3 FROM TB b WHERE a.id = b.id),
m4 = (SELECT k4 FROM TB b WHERE a.id = b.id);方式二:
for cur_value in (select id,k1,k2,k3 from TB )
loop
updte TA
set m1 = cur_value.k1,
m1 = cur_value.k1,
m1 = cur_value.k1,
m1 = cur_value.k1
where TA.id = cur_value.id;
end loop;
解决方案 »
- 建表脚本
- PB调用ORACLE9I存储过程出错,但在ORACLE8i里正常的
- 求救:无法连接数据库,但是我ping ip 地址却连接的上
- 未知的命令开头 "id varchar..." - 忽略了剩余的行
- 事务处理,如何得知语句执行情况!
- 菜鸟提问:这样的视图如何生成,简单的
- Oracle触发器的报错,测试数据库正常,正式库报错,大家指点指点
- 大家来讨论这个简单问题
- 请教一个将a用户下所有表或其它对象的select,update,insert等权限一次授予b用户的语句?先谢谢大家
- 在专用服务器上安装ORACLE8.1.6/7失败,求助
- 如何写与今天做日期比较的SQL语句
- Sql plus 和pl/sql指令区别大吗?
SET (m1,m2,m3,m4) =select k1,k2,k3,k4 from b where a.id=b.id;
UPDATE TA a
SET (m1, m2, m3, m4) = (select k1, k2, k3, k4 from TB where id=a.id)
UPDATE TA a
SET (m1, m2, m3, m4) = (select k1, k2, k3, k4 from TB where id=a.id)
WHERE EXISTS (SELECT * from TB where id = a.id)
UPDATE TA a
SET (m1, m2, m3, m4) = (select k1, k2, k3, k4 from TB where id=a.id)
这个正解。