PGのSQL funcation

作成拡張子を   IF  NOTは EXISTS "UUID - OSSPを";
- )(uuid_generate_v4 選択し; 
- CURRENT_TIMESTAMPを選択します。

- NUM = 1 temp_tb1として(* merchants.merchant_money_recordからNUMとして())CREATE_TIMEのDESCによってmerchant_id順序によってパーティション(上ROW_NUMBERを選択)SELECT * FROM。


CREATE  OR  REPLACE  FUNCTIONのfor_loop_through_queryを(
RETURNS VOIDをAS $$
 DECLARE 
    REC RECORDを。
        merchantid UUID; 
      NUMERICのバランスをとります。
        record_remark VARCHAR ;
        account_entity_id UUID; 
        ACCOUNT_ID UUID; 
        transaction_flow_id INT ; 
        transaction_flow_detail_id INT ; 
        transaction_timeによってはTIMESTAMP BEGIN 
    DELETE  FROM "AccountBook" .accounting_entity。
        DELETE  FROM "AccountBook" .account。
        DELETE  FROM "AccountBook" .callback_log。
        DELETE  FROM "AccountBook" .transaction_flow。
        DELETE  FROM "AccountBook" .transaction_flow_detail。
    FOR REC 、IN  選択 * 選択 *、ROW_NUMBER()オーバー(パーティションによって merchant_id 順序 によって CREATE_TIMEのDESCとして NUM から merchants.merchant_money_record)として temp_tb1をNUM = 1つの
    LOOPの
 account_entity_id:= uuid_generate_v4()。
 ACCOUNT_ID:= uuid_generate_v4()。
 - transaction_flow_id:= uuid_generate_v4()。
 merchantid:= rec.merchant_id。
 バランス:= rec.current_amount。  
 record_remark:= rec.record_remark。
 transaction_timeによって:= rec.transaction_time。
 INSERT  INTO "AccountBook" .accounting_entity( "ID"、 "タイプ"、SYSTEM_ID)VALUES(account_entity_id、1 、merchantid)。
 INSERT  INTO "AccountBook" .account( "ID"、 "accounting_entity_id"、 "タイプ"、 "バランス"、 "CREATETIME"、 "currency_type"、 "状態"、 "SYSTEM_ID")VALUES(ACCOUNT_ID、account_entity_id、1、バランス、CURRENT_TIMESTAMP11 、merchantid)。
 INSERT  INTO"AccountBook" .transaction_flow( "タイプ"、 "business_num"、 "occurrence_time"、 "CREATETIME"、 "発言"、 "accounting_entity_id")VALUES7、record_remark、transaction_timeによって、CURRENT_TIMESTAMP' 初始化余额' 、account_entity_id)。
 transaction_flow_id:= CURRVAL(' "AccountBook" .transaction_flow_id_seq ' );
 INSERT  INTO "AccountBook" .transaction_flow_detail( "transaction_flow_id"、 "ACCOUNT_ID"、 "量"、 "trading_num"、 "current_amount")VALUES (transaction_flow_id、ACCOUNT_ID、バランス、record_remark、バランス)
 transaction_flow_detail_id:= CURRVAL(' "AccountBook" .transaction_flow_detail_id_seq ' ); 
  注意を上げる' %||%||%||%||%' 、merchantid、バランス、account_entity_id、transaction_flow_id、transaction_flow_detail_id。
    END LOOP;
END ; 
$$ LANGUAGEのplpgsqlが、


選択 for_loop_through_query();

参考https://pg.sjk66.com/

おすすめ

転載: www.cnblogs.com/chenyishi/p/11071956.html