pgsql存储过程

DECLARE  uid int8; c_record record; resu VARCHAR; v_sql text;
BEGIN
    DROP SEQUENCE IF EXISTS f_sys_tenant_ic_ext_seq;
    CREATE SEQUENCE f_sys_tenant_ic_ext_seq
        INCREMENT 1
        MINVALUE 1
        MAXVALUE 9223372036854775807
        START 1
        CACHE 1
        CYCLE;
    v_sql= $$ SELECT CASE WHEN value = '1' THEN '1' ELSE '0' END AS value FROM app_parameter_ext WHERE id = 5530283482704822302 $$ ;
    FOR c_record in (SELECT upper_tenant_id,lower_tenant_id,creator_id,create_time,modifyier_id,modify_time,need_fetch_lower_cusinfo FROM sys_tenant_interconnection) loop
        DELETE FROM sys_tenant_ic_ext WHERE target_id = c_record.upper_tenant_id AND src_id = c_record.lower_tenant_id;
                select nextval('f_sys_tenant_ic_ext_seq') INTO uid;
                EXECUTE v_sql INTO resu;
                IF(c_record.need_fetch_lower_cusinfo = '1') THEN
                        INSERT INTO sys_tenant_ic_ext
                                (id, status, creator_id, create_time, modifyier_id, modify_time, code, description, value, target_id, src_id)
                        VALUES
                                (uid, '1', c_record.creator_id, c_record.create_time, c_record.modifyier_id, c_record.modify_time,
                                        'cust_data_sync_strategy', '客户数据同步策略', '2', c_record.upper_tenant_id, c_record.lower_tenant_id);
                ELSE
                         INSERT INTO sys_tenant_ic_ext
                                (id, status, creator_id, create_time, modifyier_id, modify_time, code, description, value, target_id, src_id)
                         VALUES
                                (uid, '1', c_record.creator_id, c_record.create_time, c_record.modifyier_id, c_record.modify_time,
                                        'cust_data_sync_strategy', '客户数据同步策略',
                                        resu,
                                        c_record.upper_tenant_id, c_record.lower_tenant_id);
                END IF;
                SELECT nextval('f_sys_tenant_ic_ext_seq') INTO uid;
                    INSERT INTO sys_tenant_ic_ext
                            (id, status, creator_id, create_time, modifyier_id, modify_time, code, description, value, target_id, src_id)
                    VALUES
                            (uid, '1', c_record.creator_id, c_record.create_time, c_record.modifyier_id, c_record.modify_time,
                                    'goods_data_sync_downstream', '商品数据向下同步',
                                    '1',
                                    c_record.upper_tenant_id, c_record.lower_tenant_id);
                    SELECT nextval('f_sys_tenant_ic_ext_seq') INTO uid;
                    INSERT INTO sys_tenant_ic_ext
                            (id, status, creator_id, create_time, modifyier_id, modify_time, code, description, value, target_id, src_id)
                    VALUES
                            (uid, '1', c_record.creator_id, c_record.create_time, c_record.modifyier_id, c_record.modify_time,
                                    'allow_edit_zd_price', '分销转单可修改单价',
                            '1', c_record.upper_tenant_id, c_record.lower_tenant_id);
    END loop;
DROP SEQUENCE if EXISTS f_sys_tenant_ic_ext_seq;
RETURN;
END;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值