2015-06-23 2 views
0

я должен обновить одну таблицу из другой один: я могу сделать обновление с SGBD MySQL:обновление таблицы из другой таблицы с использованием Oracle DB

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

Смежные вопросы