多数の行を挿入する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でこれを行う方法を教えていただければボーナスポイント。