oracle存储过程循环怎么写

2025-03-23 17:06:40
推荐回答(1个)
回答1:

Oracle中有三种循环(For、While、Loop):
1、loop循环:

create or replace procedure pro_test_loop is
i number;
begin
i:=0;
loop
 i:=i+1;
 dbms_output.put_line(i);
 if i>5 then
   exit;
 end if;
end loop;
end pro_test_loop;


2、while循环:

create or replace procedure pro_test_loop  is
i number;
begin
i:=0;
while i<5 loop
i:=i+1;
dbms_output.put_line(i);
end loop;
end pro_test_loop;


3、for循环1:

create or replace procedure pro_test_for is
i number;
begin
i:=0;
for i in 1..5 loop
 dbms_output.put_line(i);
end loop;
end pro_test_for;

4、for循环2:

create or replace procedure pro_test_cursor is
userRow t_user%rowtype;
cursor userRows is
select * from t_user;
begin
for userRow in userRows loop
   dbms_output.put_line(userRow.Id||','||userRow.Name||','||userRows%rowcount);
end loop;
end pro_test_cursor;