Selasa, 21 Januari 2020
Looping di dalam Looping - PostgreSQL
--- generate kartu provisi
DO $$
DECLARE bulan_ke INTEGER;
declare hkrtpro record;
declare noreg VARCHAR;
declare norek VARCHAR;
declare cur2 cursor for select cno, nofas from migrasi.tmp_krtpro order by cno;
begin
open cur2;
loop
fetch next from cur2 into noreg, norek;
EXIT WHEN NOT FOUND;
select cno,nofas, jk_wktawal, tgl_awal, jt_tempo, provisi
into hkrtpro
from migrasi.tmp_krtpro where cno=noreg and nofas=norek;
bulan_ke :=1;
loop
-- insert data kartunya
insert into migrasi."KRTPRO"
("NO_REG", "NO_REK", "KODE" , "JANGKA", "KE", "TGL_DROP", "TGL_JWL", "ACR_PROV" , "ACR_ADM", "PROVISI", "ADM" , "PROSES", "TGL_PROSES", "USRUPD")
select
cno, nofas,
'', hkrtpro.jk_wktawal, bulan_ke, hkrtpro.tgl_awal,(hkrtpro.tgl_awal + interval '1 MONTH'), round((hkrtpro.provisi/hkrtpro.jk_wktawal),0), 0, hkrtpro.provisi, 0, false, null, null
from migrasi.tmp_krtpro
where cno=hkrtpro.cno and nofas=hkrtpro.nofas;
bulan_ke := bulan_ke + 1;
exit when bulan_ke > hkrtpro.jk_wktawal;
end loop;
-- update jika ada total provisi kartu beda dengan headernya
update migrasi."KRTPRO"
set "ACR_PROV" = "ACR_PROV" + ((select provisi from migrasi.tmp_krtpro where nofas=norek) - (select sum("ACR_PROV") from migrasi."KRTPRO" where "NO_REK"=norek))
where "NO_REK" = norek and "KE" = (select "KE" from migrasi."KRTPRO" where "NO_REK"= norek order by "KE" desc limit 1);
end loop ;
close cur2;
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