0
如何在单个查询中更新多个表中的多个列?如何更新多个表中的多个列
我试过下面但没有成功。
update Class c, School s
set c.Status='Absent', s.Status='Absent'
Where c.ID='&ID' and c.ID=s.ID;
任何线索是明显的。
如何在单个查询中更新多个表中的多个列?如何更新多个表中的多个列
我试过下面但没有成功。
update Class c, School s
set c.Status='Absent', s.Status='Absent'
Where c.ID='&ID' and c.ID=s.ID;
任何线索是明显的。
您不能直接更新Oracle中的多个表。
你也许可以做一个视图的更新,像这样:
update (
select c.status class_status, s.status school_status
from Class c, School s
Where c.ID='&ID' and c.ID=s.ID)
set class_status='Absent', school_status='Absent'
甲骨文将只允许这个如果表之间的连接保留键 - 即由加入直接生产的每一行映射到源表中的单个行将被更新。我怀疑在这种情况下,School
未被键保存,因为该表中的每行可能与Class
中的多行有关。所以你不能在一个声明中做到这一点。
甲骨文对模糊关系思维的宽容程度远低于其他系统。
可能重复的[MySQL,用一个查询更新多个表](http://stackoverflow.com/questions/4361774/mysql-update-multiple-tables-with-one-query) – ADyson
有很多答案这个如果你搜索,包括我刚才建议的重复。 – ADyson
您当前的查询看起来正确。你真的尝试过运行它吗? –