2015-01-16 13 views
-2

Это не работает в Oracle, пожалуйста, помогитеUpdate не работает в Oracle, 2 таблицы

update mrp_indeksy mrp 
inner join indeksy i 
on i.indeks_czesci=mrp.indeks_czesci 
set mrp.jest_w_raporcie_pzm='N' 
where i.id_grupy='WG' and mrp.kod_uzyskania='P' and i.nazwa_czesci NOT LIKE 'ZAWI%' 
+0

Этот вопрос уже ответил на Stack Overflow. Пожалуйста, проверьте этот вопрос: http://stackoverflow.com/questions/2446764/oracle-update-statement-with-inner-join Я предлагаю вам искать на сайте соответствующие вопросы перед публикацией. –

ответ

1

Обычно в Oracle один использует WHERE EXISTS для обновления запросов этого типа:

UPDATE mrp_indeksy mrp 
    SET mrp.jest_w_raporcie_pzm='N' 
WHERE mrp.kod_uzyskania='P' 
    AND EXISTS (SELECT 1 FROM indeksy i 
       WHERE i.indeks_czesci = mrp.indeks_czesci 
        AND i.id_grupy='WG' 
        AND i.nazwa_czesci NOT LIKE 'ZAWI%') 

Вы можете подробнее о том, как сделать обновление такого типа at this page. Помимо вышеописанного метода WHERE EXISTS, вы также можете выполнить «обновляемое представление». Однако вы не можете комбинировать обновление с JOIN и UPDATE ... FROM недействительным синтаксисом Oracle.

+0

Почему downvote ... нужно объяснить? –

+0

Полезный ответ со ссылкой на дополнительную информацию! –

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