Postgresql为查询中的每条记录运行Upsert函数

时间:2013-12-12 15:42:58

标签: sql database function postgresql upsert

我在postgresql手册here中看到了UPSERT的一个示例,我实现了它,以便在调用函数并传递参数select myfunction(arg1,arg2,arg3)时它可以正常工作。现在我的问题是我想运行一个查询,它将选择一些记录并使用myfunction插入/更新表。问题是如何将select语句中的每个结果作为变量传递给函数。我应该使用触发器,但是从哪里开始就输了。我希望你们了解我。当然,如果有一种完全不同的,更好的方式可以解决这个问题。帮助请

1 个答案:

答案 0 :(得分:0)

select myfunction(arg1,arg2,arg3)
  from (
    select arg1, arg2, arg3
      from data_table
      where something='something-other'
  ) as _;