insira se não existe oracle

Eu preciso ser capaz de executar uma consulta Oracle, que vai inserir um número de linhas, mas também verifica se existe uma chave primária e se isso acontecer, então ele ignora essa inserção. Algo como:

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;

Isso é possível com a Oracle?

Pontos de bônus se você puder me dizer como fazer isso no PostgreSQL ou no MySQL.

questionAnswers(10)

yourAnswerToTheQuestion