pg存儲過程和sql語句塊


展X寶項目使用的是pq數據庫,批量發送紅包需求,需要采用存儲過程來初始化紅包記錄數據。

創建存儲過程語句有固定的架子,如下

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中間的部分。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM