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.

questionAnswers(10)

yourAnswerToTheQuestion