pg存储过程和sql语句块

展E宝项目使用的是postgresql数据库,批量发送红包需求,需要采用存储过程来初始化红包记录数据。

创建存储过程语句有固定的架子,如下

CREATE OR REPLACE FUNCTION public.loop_insert()
 RETURNS void
 LANGUAGE plpgsql
AS $function$
DECLARE
i integer;
BEGIN
      for i in 1 .. 2000000 loop
          insert into red_packet_pay (id, agent_no, amount, payment_acc)
          values 
          (''||i, '112010302'||i, i, '20180224'||i);
      end loop;
END;
$function$

在写自己的存储过程时,只需关注3个地方就好:

1.declare 声明要在下面语句中用到的变量

2.begin    end; 中间写内容

如果存储过程只是一次性的调用,那么就没有必要创建存储过程了,写sql语句块即可。

也有固定的架子,如下

DO LANGUAGE plpgsql $$
DECLARE
i integer;
BEGIN
    for i in 1 .. 5 loop
        insert into public.a values (i, '112010302');
    end loop;
END;
$$;

同样也只需关注declare变量和begin end中间的部分。

 

转载于:https://www.cnblogs.com/koushr/p/5873443.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值