Ketika saya menjalankan ini, saya mendapatkan kesalahan "missing INTO keyword" .
Karena IGNORE bukan kata kunci di Oracle. Itu adalah sintaks MySQL.
Yang dapat Anda lakukan adalah menggunakan 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)
/
Dari Oracle 10g kita dapat menggunakan penggabungan tanpa menangani kedua cabang. Di 9i kami harus menggunakan cabang MATCHED "dummy".
Dalam versi yang lebih kuno, satu-satunya pilihan adalah :
- menguji keberadaan baris sebelum mengeluarkan INSERT (atau dalam sub-kueri);
- untuk menggunakan PL/SQL untuk menjalankan INSERT dan menangani kesalahan DUP_VAL_ON_INDEX yang dihasilkan.