Hi guys, can anyone help to optimize this loop : for i in select kodedivisi,kodeseksi,kodewip,nobatch,ket1,ket2,ket3,ket4,NILAIPROP as nilaiygdibagi from EDP040_07_23 order by kodedivisi,kodeseksi,kodewip,nobatch,ket1,ket2,ket3,ket4 loop
jmlData2 = jmlData2 + 1; if (jmlData2 = 500) then jmlData3 = jmlData3 + jmlData2; jmlData2 = 0; Raise Notice '' 12 - 2 - EDP040_07_23 = %'', jmlData3; end if; Update EP_ES06_N_TEMP2 Set NilPakai = NilPakai + case when i.nilaiygdibagi > 0 then VNilaiPembagi else -1*VNilaiPembagi end Where (THBLTR,DIVCOD,WIPCOD,NBATCH,SKSFOH,MAINAC,SUB_AC,BAGCOD,SLGIDC,DSRTRF, JAMPAKAI,NILPAKAI,KodeHsl,NoBatchHsl) in (Select THBLTR,DIVCOD,WIPCOD,NBATCH,SKSFOH,MAINAC,SUB_AC,BAGCOD,SLGIDC,DSRTRF, JAMPAKAI,NILPAKAI,KodeHsl,NoBatchHsl From EP_ES06_N_TEMP2 Where DIVCOD = i.kodedivisi and WIPCOD = i.kodewip and NBATCH = i.nobatch and SKSFOH = i.kodeseksi and trim(MAINAC) = trim(i.ket1) and trim(SUB_AC) = trim(i.ket2) and trim(BAGCOD) = trim(i.ket3) and trim(SLGIDC) = trim(i.ket4) Order by thbltr desc,divcod desc,wipcod desc,nbatch desc, SKSFOH desc,mainac desc,sub_ac desc,bagcod desc,slgidc desc,dsrtrf desc, jampakai desc,nilpakai desc,kodehsl desc,nobatchhsl desc limit (abs(i.nilaiygdibagi) / VNilaiPembagi)); end loop; This loop need 30 minutes (18.000 record data), and the raise notice will show every 50 second (500 record data). Thanks anyway. -- ------------------------------------------------------------------- "He who is quick to become angry will commit folly, and a crafty man is hated"