2015-06-23 48 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