首页 > 解决方案 > 尝试在未绑定游标/引用游标中更新 PostgreSQL 中的某些表

问题描述

我想从基本上仅基于这两个表的未绑定引用游标记录更新两个表。我怎样才能实现它?一旦我试图获取一个唯一的列标识符并在其中一个表中循环传递它,它就不起作用了。在 PostgreSQL 中真的有可能吗?循环中的以下更新,我需要动态准备但无法准备 source_record.A_ID 的 bcos 无法即时准备。如果我连接,它不会从上面的光标传递实际值。这是附表,与 TPID 和 AMT(settlement_amt) 连接

表 A 表 B

declare
V_SOURCE_QUERY VARCHAR(1000):='SELECT A.ID A_ID, B.ID B_ID FROM A A, B B     WHERE some_condition';
begin

OPEN CUR_SOURCE FOR EXECUTE V_SOURCE_QUERY;
LOOP
    FETCH CUR_SOURCE INTO SOURCE_RECORD;

    EXIT WHEN NOT FOUND;

    UPDATE A
    SET PICK_UP='Y'
    WHERE ID=SOURCE_RECORD.A_ID;

    UPDATE B
    SET PICK_UP='Y'
    WHERE ID=SOURCE_RECORD.B_ID;
END LOOP;

标签: sqlpostgresql

解决方案


推荐阅读