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 $$;
Langganan:
Posting Komentar (Atom)
Dynamic Query - SQL Server
Berikut adalah contoh dari bentuk dari Dynamic Query di SQL Server yang dibungkus ke dalam Store Procedure: USE [Data00] GO SET ANSI_NULLS ...
Popular Posts
-
select round(5.123456 , 2) from dual ==> 5.12 select round(5.87654 , 2) from dual ==> 5.88 select floor(5.89) from dual ==> 5 s...
-
round((case when adjpk.nilai_jaminan<>0 then ((tabkredit.baki*100)/(COALESCE(adjpk.nilai_jaminan,0))) els...
-
USE [DATABASENYA] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[SendEmailHardiskSize] as begin ...
Tidak ada komentar:
Posting Komentar