我正在使用pg-promise处理要在表A中插入的数据数组。我很难弄清楚如何动态创建此查询,该查询仅应插入那些尚未存储的值显示在表格中,同时返回所有已经存在或新创建的人的ID。
我正在执行以下操作,但是针对单个元素:
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']
。我将如何使用帮助程序生成一个查询,该查询将返回苹果的现有ID和香蕉的ID?