insertar si no existe oracle
Necesito poder ejecutar una consulta de Oracle que inserte un número de filas, pero también verifica si existe una clave principal y, en caso afirmativo, se salta esa inserción. 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;
¿Es esto posible con Oracle?
Puntos de bonificación si puedes decirme cómo hacerlo en PostgreSQL o MySQL.