Je dois être capable d'exécuter une requête Oracle qui va insérer un nombre de lignes, mais il vérifie également si une clé primaire existe et si c'est le cas, elle ignore cet insert. Quelque chose comme:insert if not exists oracle
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;
Est-ce possible avec Oracle?
Points bonus si vous pouvez me dire comment faire cela dans PostgreSQL ou MySQL.
J'aime utiliser CTE - Common Table Expressions [Oracle: comment insérer si une ligne n'existe pas ] (http://stackoverflow.com/questions/3841441/oracle-how-to-insert-if-a-row-doesnt-exist/39704301#39704301) – it3xl