如何使用3个表执行SQL更新

如何使用3个表执行SQL更新,sql,oracle,sql-update,Sql,Oracle,Sql Update,我想更新3个表中的数据,但我不知道如何结合select+join使用update语句。如果有什么问题,请告诉我。我正处于教育阶段。谢谢 这是ER图,我想更新一些关于客户的信息 对于Mysql,应该是这样 update client join address on ( client.address.id_address=address.id_address and client.id_client = 1 ) join country on address.country_id_cou

我想更新3个表中的数据,但我不知道如何结合select+join使用update语句。如果有什么问题,请告诉我。我正处于教育阶段。谢谢

这是ER图,我想更新一些关于客户的信息


对于Mysql,应该是这样

update client
   join address on ( client.address.id_address=address.id_address and client.id_client = 1 )
   join country on address.country_id_country= country_id_country  
set 
client.id_client = 100, 
client.name = 'Puma', 
address.street = 'Oxford Street',
address.city = 'London', 
country.name = 'England'

对于Oracle,您应该使用存储过程并对单个表执行单独的更新。

第一部分学习基础知识。这是完全错误的说法。这是什么数据库和版本的?有点不对劲。。。我甚至不知道你想做什么。在更新前后添加示例表数据。同样使用标签dbms,答案可能是特定于产品的。@Zigy CruttyFree时代创业者Oracle11。2@jarlh这是ER图,我想更新一些关于客户(客户)的信息,如果我使用它,我会得到00971。00000-“缺少设置关键字”您正在使用哪个数据库?oracle的Weel不可能使用一个查询更新多个表。。您必须使用存储过程。。我已经更新了答案。
update client
   join address on ( client.address.id_address=address.id_address and client.id_client = 1 )
   join country on address.country_id_country= country_id_country  
set 
client.id_client = 100, 
client.name = 'Puma', 
address.street = 'Oxford Street',
address.city = 'London', 
country.name = 'England'