Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1154
  • Last Modified:

ADD 5 TO COUNTER IN FOR LOOP

How can I increment  the count in a variable in the loop instead of codeing the actual numbers for the count such as (4,9,14,19,24).  In other words, I just want to add 5 to the counter beginning with record number 4 in the loop.  There can be up to 24  records in the loop.    

This is an oracle table.  I'm using PL/SQL.
See attached code.  



v_count := 0
 
for c1 rec in c1  loop
 v_count := v_count + 1;
 
if v_count in (4,9,14,19,24)  then 
  put_line (l_file,'TEST1');
end if;
 if v_count  in (5,10,15,20) then
  put_line(l_file,TEST2);
end if;
if v_count in (6,11,16,21)
 put_line(l_file,TEST2);
end if;
 
end loop;

Open in new window

0
ratliffjm
Asked:
ratliffjm
  • 2
  • 2
1 Solution
 
sdstuberCommented:
use the "mod" function to do your "loop" check and since you only care about values 4 or higher, then simply wrap all of the conditions in that.
v_count := 0
 
for c1 rec in c1  loop
 v_count := v_count + 1;
 
  if v_count >= 4 then
    if mod(v_count,5) = 4 then  
       put_line (l_file,'TEST1');
    end if;
    if mod(v_count,5) = 0 then
       put_line(l_file,TEST2);
    end if;
    if mod(v_count,5) = 1 
       put_line(l_file,TEST2);
    end if;
  end if;
end loop;

Open in new window

0
 
ratliffjmAuthor Commented:
Thanks.   I will test the code when I'm at the office tomorrow morning.
0
 
ratliffjmAuthor Commented:
Thanks
0
 
sdstuberCommented:
glad I could help
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now