CASE:
Kita ingin mengubah tanggalnya aja, tanpa mengubah tahun dan bulannya
DO $$
Declare idkrt int;
Declare bulanke int;
DECLARE idaset int;
Declare jwl date;
DECLARE jmlhari int;
DECLARE tanggal int;
cur1 CURSOR for select id,
depresiasi_bulan_ke,
id_aset_inventaris,
jwl_depresiasi,
DATE_PART('days',
DATE_TRUNC('month', jwl_depresiasi)
+ '1 MONTH'::INTERVAL
- '1 DAY'::INTERVAL
) jumlah_hari
from m_kartu_aset_inventaris where id_aset_inventaris in (2659, 2658) order by id_aset_inventaris, depresiasi_bulan_ke;
begin
OPEN Cur1 ;
Loop
FETCH next from Cur1 INTO idkrt, bulanke, idaset, jwl, jmlhari;
EXIT WHEN NOT FOUND;
select (date_part('day', tanggal_beli)) into tanggal from m_aset_inventaris where id=idaset;
if jmlhari >= tanggal then
update m_kartu_aset_inventaris
set jwl_depresiasi=cast(CONCAT(DATE_PART('YEAR',jwl_depresiasi),'-',DATE_PART('MONTH',jwl_depresiasi),'-',tanggal) as date)
where id_aset_inventaris=idaset and depresiasi_bulan_ke=bulanke;
END IF;
if jmlhari < tanggal then
update m_kartu_aset_inventaris
set jwl_depresiasi=cast(CONCAT(DATE_PART('YEAR',jwl_depresiasi),'-',DATE_PART('MONTH',jwl_depresiasi),'-',jmlhari) as date)
where id_aset_inventaris=idaset and depresiasi_bulan_ke=bulanke;
END IF;
end loop ;
CLOSE Cur1;
END $$;
Tidak ada komentar:
Posting Komentar