Пакетная вставка или игнорирование Postgresql

Я отвечаю за переключение нашего кода с sqlite на postgres. Один из запросов, с которым у меня возникли проблемы, скопирован ниже.

INSERT INTO group_phones(group_id, phone_name)
SELECT g.id, p.name 
FROM phones AS p, groups as g
WHERE g.id IN ($add_groups) AND p.name IN ($phones);

Проблема возникает, когда есть повторяющаяся запись. В этой таблице комбинация обоих значений должна быть уникальной. Я использовал несколько функций plpgsql в других местах для выполнения операций вставки обновления -или -, но в этом случае я могу выполнять несколько вставок одновременно. Я не уверен, как написать хранимую процедуру для этого. Спасибо за помощь всем гуру sql!

5
задан Erwin Brandstetter 10 August 2012 в 15:34
поделиться