【问题标题】:How to select field values and insert them in another table with for loop如何使用 for 循环选择字段值并将它们插入到另一个表中
【发布时间】:2017-11-30 20:32:44
【问题描述】:

我想在 Postgres 中编写一个函数,该函数从表 A 中选择一列,然后循环遍历这些值并将它们插入表 B。

这是我目前所拥有的:

declare 
    aid integer
begin
    for aid in select a_id from table_a
    loop
        insert into table_b (a_id)
            values (aid)
    end loop;
end;

但是,我在for aid in select a_id from table_a 行遇到了语法错误。这样做的正确方法是什么?

【问题讨论】:

    标签: postgresql for-loop plpgsql


    【解决方案1】:

    您不需要循环 - 只需一个插入选择语句:

    INSERT INTO table_b (a_id)
    SELECT a_id FROM table_a
    

    【讨论】:

    • 如果我需要将另一个字段与作为函数参数的 a_id 一起插入到 table_b 怎么办?
    • @ddd 只是选择它作为文字
    • 但是select 返回的是一个整数数组,而要插入的另一个变量是单个值。将一个数组和一个整数同时插入两个整数字段是如何工作的?
    • @ddd 此评论完全不清楚。请使用您要解决的实际用例编辑您的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    相关资源
    最近更新 更多