Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

What is the alternative for 'for loop' ?

kalyan vedagiriJul 7 2021 — edited Jul 7 2021

i want to update the table by using a decrementor and row id as below.
my_line_count := 0;
select count(*) into my_line_count from emp where empno = in_empno
For line_rec in ( select rowid from emp where empno = in_empno order by countline desc)
loop
update emp set countline = my_line_count where ROWID = line_rec.ROWID;
my_line_count = my_line_count -1;
end loop;
This procedure will be called for suppose 314 times, by another procedure( based on count in emp table i:e for each row);

Before data is like
select countline from emp where empno = in_empno ;
countline
1
1
1
1
1
-- so on

Expected result
select countline from emp where empno = in_empno ; (For exapmle there are 314 rows)
countline
314
313
312
311
.
.
.
3
2
1

Is there any way to perform above logic without loop?

Comments

Processing

Post Details

Added on Jul 7 2021
9 comments
1,410 views