wstaw jeśli nie istnieje wyrocznia
Muszę być w stanie uruchomić zapytanie Oracle, które wstawia pewną liczbę wierszy, ale sprawdza również, czy istnieje klucz podstawowy, a jeśli tak, pomija tę wstawkę. Coś jak:
INSERT ALL
IF NOT EXISTS( SELECT 1 WHERE fo.primary_key='bar' )
(
INSERT INTO
schema.myFoo fo ( primary_key, value1, value2 )
VALUES
('bar','baz','bat')
),
IF NOT EXISTS( SELECT 1 WHERE fo.primary_key='bar1' )
(
INSERT INTO
schema.myFoo fo ( primary_key, value1, value2 )
VALUES
('bar1','baz1','bat1')
)
SELECT * FROM schema.myFoo;
Czy to w ogóle możliwe z Oracle?
Dodatkowe punkty, jeśli możesz mi powiedzieć, jak to zrobić w PostgreSQL lub MySQL.