Hey Maxime,
Here is the procedure for which i am trying to identify the total duration of run.
create procedure PRACTICE_TEST.PROC_PUZZLE_OUTPUT
LANGUAGE SQLSCRIPT
as
ELEPHANT_COUNT integer;
COW_COUNT integer;
GOAT_COUNT integer;
ELEPHANT integer;
CNTR integer;
v_msg varchar(100);
t0 time;
t1 time;
rt time;
Begin
GET RUN TIME FIELD t0;
ELEPHANT_COUNT := 1;
CNTR := 0;
v_msg := '';
While ELEPHANT_COUNT < 10
DO
COW_COUNT := 1;
While COW_COUNT < 100
DO
GOAT_COUNT := 1;
while GOAT_COUNT < 100
Do
CNTR := CNTR + 1;
if MOD(:cntr, 1000) = 0 then
v_msg := 'CNTR RUN COUNT = '||:CNTR;
call PRACTICE_TEST.PROC_MY_LOG(:v_msg);
end if;
if ((:ELEPHANT_COUNT + :COW_COUNT + :GOAT_COUNT) = 100) AND ((:ELEPHANT_COUNT * 10) + (:COW_COUNT * 3) + (:GOAT_COUNT * 0.5) = 100)
THEN
v_msg := 'CNTR RUN COUNT = '||:CNTR || 'Goat Loop : Elephant count = '||:ELEPHANT_COUNT||' Cow count = '||:COW_COUNT||'Goat count = '||:GOAT_COUNT;
call PRACTICE_TEST.PROC_MY_LOG(:v_msg);
end if;
GOAT_COUNT := :GOAT_COUNT + 1;
END While;
COW_COUNT := :COW_COUNT + 1;
End While;
ELEPHANT_COUNT := :ELEPHANT_COUNT + 1;
end while;
SELECT CURRENT_TIME FROM DUMMY;
GET RUN TIME FIELD t1;
rt := :t1 - :t0;
v_msg := 'TOTAL TIME TAKEN IS '||:rt;
call PRACTICE_TEST.PROC_MY_LOG(:v_msg);
End;