PostgreSQL返回选择结果并将它们添加到临时表中?

埃洛夫

我想选择一组行并将其返回给客户端,但是我也想将结果集中的主键(整数ID)插入临时表中,以供以后在同一事务中使用。

这是用于同步的,其中后续查询倾向于将早期查询结果中的联接包括在内。

最有效的方法是什么?

我不愿执行两次查询,尽管如果将它添加到查询缓存中可能会很快。一种替代方法是将整个结果集存储到临时表中,然后再从临时表中进行选择。这似乎也很浪费(我只需要临时表中的整数id。)如果有一个SELECT INTO TEMP也返回了结果,我会很高兴。

当前,所使用的技术是在客户端构造整数ID的数组,并在随后的IN查询中使用该数组。我希望有一些更有效的方法。

我猜它可以用存储过程来完成吗?但是有没有办法吗?

戈登·利诺夫(Gordon Linoff)

我认为您可以使用Postgres功能来做到这一点,该功能允许CTE中的数据修改步骤。使用此功能的更常见的原因是,例如,删除表的记录,然后将它们插入日志表。但是,它可以适用于此目的。这是一种可能的方法(我手头没有Postgres对此进行测试):

with q as (
      <your query here>
     ),
     t as (
      insert into temptable(pk)
          select pk
          from q
     )
select *
from q;

通常,您将returning子句与数据修改查询一起使用,以捕获要修改的数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PostgreSQL返回选择结果并将其添加到临时表?

来自分类Dev

循环遍历 SQL 结果并将它们插入到临时表中

来自分类Dev

Progress ABL-剥离并添加到临时表

来自分类Dev

在SQL中将日期列添加到临时表

来自分类Dev

将计算列添加到临时表 Oracle

来自分类Dev

从多个表中选择并将它们放在一个临时表中

来自分类Dev

SQL-将记录添加到临时表中,直到满足顺序

来自分类Dev

SQL-将记录添加到临时表中,直到满足顺序

来自分类Dev

根据列中的值将新列添加到临时表

来自分类Dev

根据另一个临时表中的行将列动态添加到临时表中

来自分类Dev

选择某些记录并将它们添加到队列表

来自分类Dev

从动态SQL结果中选择*到临时表中

来自分类Dev

如何在 postgreSQL 中重复查询,并将结果添加到表中

来自分类Dev

识别列中的模式,并将它们添加到数据框中的列中

来自分类Dev

尝试在表单中捕获用户输入并将它们添加到数组中并显示输出

来自分类Dev

如何从字符串中检索每个值并将它们添加到列表中

来自分类Dev

访问用户定义对象中的字典值并将它们添加到列表中

来自分类Dev

从文件中读取对象并将它们添加到数组中

来自分类Dev

创建N个对象并将它们添加到列表中

来自分类Dev

AngularJS 对值进行分组并将它们添加到 ng-repeat 中

来自分类Dev

从数组中删除值并将它们添加到 POST 方法请求

来自分类Dev

从 db 获取行并将它们添加到类型对象的列表中

来自分类Dev

SQL Server 2008 R2:从存储过程返回结果并将其插入到临时表中

来自分类Dev

单选按钮/复选框/选择选项-添加所选项目的总价(值),并将它们添加到数组中

来自分类Dev

SQLITE查询结果到临时表中

来自分类Dev

从列表中选择随机数量的项目并将它们添加到另一个列表 (Swift)

来自分类Dev

从数组中获取两个元素并将其添加,然后将它们重新添加到数组中

来自分类Dev

Dbplyr:合并两个表,然后将结果添加到数据库中,而无需将它们加载到内存中

来自分类Dev

SQL循环未将所有输入记录添加到临时表

Related 相关文章

  1. 1

    PostgreSQL返回选择结果并将其添加到临时表?

  2. 2

    循环遍历 SQL 结果并将它们插入到临时表中

  3. 3

    Progress ABL-剥离并添加到临时表

  4. 4

    在SQL中将日期列添加到临时表

  5. 5

    将计算列添加到临时表 Oracle

  6. 6

    从多个表中选择并将它们放在一个临时表中

  7. 7

    SQL-将记录添加到临时表中,直到满足顺序

  8. 8

    SQL-将记录添加到临时表中,直到满足顺序

  9. 9

    根据列中的值将新列添加到临时表

  10. 10

    根据另一个临时表中的行将列动态添加到临时表中

  11. 11

    选择某些记录并将它们添加到队列表

  12. 12

    从动态SQL结果中选择*到临时表中

  13. 13

    如何在 postgreSQL 中重复查询,并将结果添加到表中

  14. 14

    识别列中的模式,并将它们添加到数据框中的列中

  15. 15

    尝试在表单中捕获用户输入并将它们添加到数组中并显示输出

  16. 16

    如何从字符串中检索每个值并将它们添加到列表中

  17. 17

    访问用户定义对象中的字典值并将它们添加到列表中

  18. 18

    从文件中读取对象并将它们添加到数组中

  19. 19

    创建N个对象并将它们添加到列表中

  20. 20

    AngularJS 对值进行分组并将它们添加到 ng-repeat 中

  21. 21

    从数组中删除值并将它们添加到 POST 方法请求

  22. 22

    从 db 获取行并将它们添加到类型对象的列表中

  23. 23

    SQL Server 2008 R2:从存储过程返回结果并将其插入到临时表中

  24. 24

    单选按钮/复选框/选择选项-添加所选项目的总价(值),并将它们添加到数组中

  25. 25

    SQLITE查询结果到临时表中

  26. 26

    从列表中选择随机数量的项目并将它们添加到另一个列表 (Swift)

  27. 27

    从数组中获取两个元素并将其添加,然后将它们重新添加到数组中

  28. 28

    Dbplyr:合并两个表,然后将结果添加到数据库中,而无需将它们加载到内存中

  29. 29

    SQL循环未将所有输入记录添加到临时表

热门标签

归档