Kiedy to uruchamiam, pojawia się błąd „brakuje słowa kluczowego INTO”.
Ponieważ IGNORE nie jest słowem kluczowym w Oracle. To jest składnia MySQL.
To, co możesz zrobić, to użyć MERGE.
merge into table1 t1
using (select 'value1' as value1 ,value2
from table2
where table2.type = 'ok' ) t2
on ( t1.value1 = t2.value1)
when not matched then
insert values (t2.value1, t2.value2)
/
Z Oracle 10g możemy użyć scalania bez obsługi obu gałęzi. W 9i musieliśmy użyć „małej” gałęzi DOPASOWANEJ.
W starszych wersjach jedynymi opcjami były:
- przetestuj istnienie wiersza przed wydaniem INSERT (lub w podzapytaniu);
- aby użyć PL/SQL do wykonania INSERT i obsłużyć każdy wynikowy błąd DUP_VAL_ON_INDEX.