批量插入不存在的记录,返回ID

时间:2018-06-27 08:03:27

标签: pg-promise

我正在使用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?

0 个答案:

没有答案
相关问题