2015-06-23 49 views
0

从另一个表一表我必须从另外一个更新一个表: 我可以做与MySQL SGBD更新:更新使用Oracle数据库

update product pr , provider p 
set pr.provider_name = p.name 
where p.provider_id = pr.provider_id ; 

但是当我尝试与甲骨文这样做: 我尝试这个查询甲骨文

UPDATE pr 
SET pr.provider_name = p.name 
FROM product pr 
INNER JOIN provider p ON p.provider_id = pr.provider_id ; 

我得到这个错误:

Error Code: 933, SQL State: 42000] ORA-00933: SQL command not properly ended 

我的查询出了什么问题?

回答

2

试试这个:

UPDATE product 
SET provider_name = (
    SELECT p.name 
    FROM provider p 
    WHERE p.provider_id = product.provider_id 
); 
+0

是:)感谢很多 – junior

2
UPDATE product prod SET prod.provider_name = (SELECT prov.name 
               FROM provider prov 
               WHERE prod.provider_id = prov.provider_id) 
+0

:)非常感谢 – junior