do $$
declare
    _dt_i date;
    _dt_f date;
    _vl_perc_desc numeric;
begin
    _dt_i         := '2020-01-01';
    _dt_f         := '2020-05-14';
    _vl_perc_desc := 1.5;

    update tb_pdc_colab_item set
        vl_perc_desc = _vl_perc_desc,
        vl_desc = cast(vl_sub_tot * _vl_perc_desc / 100 as numeric(12,2)),
        vl_tot = vl_sub_tot - cast(vl_sub_tot * _vl_perc_desc / 100 as numeric(12,2))
    where
        exists (select 1
                from tb_pdc_colab
                join tb_ct on
                    (tb_pdc_colab.id_emp = tb_ct.id_emp and
                     tb_ct.tp_org = 'PDC_COLAB' and
                     tb_ct.id_org = tb_pdc_colab.id_pdc_colab and
                     tb_ct.stat = 'P')
                where
                    tb_pdc_colab.id_emp = tb_pdc_colab_item.id_emp and
                    tb_pdc_colab.id_pdc_colab = tb_pdc_colab_item.id_pdc_colab and
                    tb_pdc_colab.dt_pdc_colab between _dt_i and _dt_f);
                    
                    
    update tb_pdc_colab set
        vl_desc = (select sum(vl_desc) 
                   from tb_pdc_colab_item
                   where
                       tb_pdc_colab_item.id_emp = tb_pdc_colab.id_emp and
                       tb_pdc_colab_item.id_pdc_colab = tb_pdc_colab.id_pdc_colab),
        vl_tot =  (select sum(vl_tot) 
                   from tb_pdc_colab_item
                   where
                       tb_pdc_colab_item.id_emp = tb_pdc_colab.id_emp and
                       tb_pdc_colab_item.id_pdc_colab = tb_pdc_colab.id_pdc_colab)
    where
        id_pdc_colab in (select tb_pdc_colab_sub.id_pdc_colab
                from tb_pdc_colab as tb_pdc_colab_sub
                join tb_ct on
                    (tb_pdc_colab_sub.id_emp = tb_ct.id_emp and
                     tb_ct.tp_org = 'PDC_COLAB' and
                     tb_ct.id_org = tb_pdc_colab_sub.id_pdc_colab and
                     tb_ct.stat = 'P')
                where
                    tb_pdc_colab_sub.dt_pdc_colab between _dt_i and _dt_f);
                    
end
$$