pg数据库存储过程

一、存储过程

CREATE OR REPLACE PROCEDURE public.p_dm_stock_fx_hangye_d(IN dt_date character varying)
 LANGUAGE plpgsql
AS $procedure$
    begin

delete from dm_stock_fx_hangye_d where stock_date = dt_date;
commit;


insert into dm_stock_fx_hangye_d
select 
t.stock_date 
,a.industry 
,t.operation_type 
,sum(t.stock_volume)
from dm_stock_base_fex_d t
inner join stock_baseinfo a 
        on substr(t.stock_code,3,6) = substr(a.ts_code,1,6) 
where t.stock_date = dt_date
group by 
a.industry 
,t.operation_type 
,t.stock_date;
commit;

    END;
$procedure$
;
二、循环调用

CREATE OR REPLACE PROCEDURE public.p_tool1(IN start_date integer, IN end_date integer)
 LANGUAGE plpgsql
AS $procedure$
    begin
         for i in start_date..end_date
         loop
         RAISE NOTICE '%', i; -- 打印当前迭代的值
         call p_dm_stock_fx_hangye_d(cast(i as varchar));
         end loop;
    end;

$procedure$
;
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值