Я использую pg-обещание для обработки массива данных, которые я хочу вставить в таблицу А. Мне трудно разобраться, как динамически создать этот запрос, который должен только вставлять те значения, которых еще нет в таблице, при этом возвращаются идентификаторы всех тех, кто уже присутствует или был недавно создан.
Я делаю следующее, но для одного элемента:
WITH s as
( SELECT *
FROM fruits
WHERE fruit_name = 'Apple' ),
i AS
( INSERT INTO fruits(fruit_name) SELECT 'Apple'
WHERE NOT exists
(SELECT 1
FROM s) RETURNING fruit_id)
Но скажи, что у меня есть Массив фруктов = ['Banana', 'Apple']
. Как бы я использовал помощников, чтобы сгенерировать запрос, который бы возвращал существующий идентификатор для яблока и один для банана?