Als ik dit uitvoer krijg ik de foutmelding "ontbrekend INTO trefwoord".
Omdat IGNORE geen sleutelwoord is in Oracle. Dat is de MySQL-syntaxis.
Wat u wel kunt doen, is MERGE gebruiken.
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)
/
Vanaf Oracle 10g kunnen we merge gebruiken zonder beide branches te gebruiken. In 9i moesten we een "dummy" MATCHED branch gebruiken.
In oudere versies waren de enige opties:
- test het bestaan van de rij voordat u een INSERT geeft (of in een subquery);
- om PL/SQL te gebruiken om de INSERT uit te voeren en eventuele resulterende DUP_VAL_ON_INDEX-fouten af te handelen.