更新不在Oracle,2表中工作

时间:2015-01-16 15:41:23

标签: sql oracle inner-join

这在甲骨文中无效,请帮忙

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%'

1 个答案:

答案 0 :(得分: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语法。