Мне нужно иметь возможность запускать запрос Oracle, который идет на вставку ряда строк, но также проверяет, существует ли первичный ключ и если он это делает, тогда он пропускает эту вставку. Что-то вроде:Вставить, если не существует 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;
Возможно ли это с Oracle?
Бонусные баллы, если вы можете сказать мне, как это сделать в PostgreSQL или MySQL.
Мне нравится использовать КТР - Common Table Expressions [Oracle: как INSERT, если строка не существует ] (http://stackoverflow.com/questions/3841441/oracle-how-to-insert-if-a-row-doesnt-exist/39704301#39704301) – it3xl