for 循环通过临时表



我在function(postgresql)中有一个临时表

create temporary table temp_table (
id serial
,breakup_id integer
,enquiry_id integer
,estimate_id integer
,customer_name CHARACTER VARYING
,month integer
,year integer
,amount numeric
) on commit drop;

我需要for loop这个临时表以使用 breakup_id 更新amount列。如何在postgresql function做到这一点?

如果你对金额值有一些复杂的逻辑,请使用

do 
$$ 
declare _r record; 
begin 
  for _r in (select * from temp_table) loop 
    update temp_table set amount='complicated calculated values' where id = _r.id; 
  end loop; 
end; 
$$
;

否则使用UPDATE temp_table set amount = /*simple value*/ where id=..

最后 - 请记住,临时表不是用来保存数据的 - 例如,您将无法使用其他后端从中读取数据......

最新更新