create or replace procedure proc_test_exit_when is
i number;
begin
i:=0;
LOOP
Exit When(i>5);
Dbms_Output.put_line(i);
i:=i+1;
END LOOP;
end proc_test_exit_when;
2、Loop循環:
源碼復制打印關于
create?or?replace?procedure?proc_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?proc_test_loop;??
create or replace procedure proc_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 proc_test_loop;
3、While循環:
源碼復制打印關于
create?or?replace?procedure?proc_test_while?is??
i?number; ??
begin??
i:=0; ??
while?i<5?loop ??
i:=i+1; ??
dbms_output.put_line(i); ??
end?loop; ??
end?proc_test_while;??
create or replace procedure proc_test_while is
i number;
begin
i:=0;
while i<5 loop
i:=i+1;
dbms_output.put_line(i);
end loop;
end proc_test_while;
4、For普通循環:
源碼復制打印關于
create?or?replace?procedure?proc_test_for?is??
i?number; ??
begin??
i:=0; ??
for?i?in?1..5?loop ??
dbms_output.put_line(i); ??
end?loop; ??
end?proc_test_for;??
create or replace procedure proc_test_for is
i number;
begin
i:=0;
for i in 1..5 loop
dbms_output.put_line(i);
end loop;
end proc_test_for;
create or replace procedure proc_test_cursor is
userRow test%rowtype;
cursor userRows is
select * from test;
begin
for userRow in userRows loop
dbms_output.put_line(userRow.id||','||userRow.Name||','||userRows%rowcount);
end loop;
end proc_test_cursor;
BEGIN <<OUTER>> FOR I IN 1 .. 10 LOOP <<INNER>> FOR??J IN 1..20 LOOP ? ???DBMS_OUTPUT.PUT_LINE('J IS :'|| J); ? ???EXIT WHEN J = 10; END LOOP INNER; ? ?DBMS_OUTPUT.PUT_LINE('I IS:'||I); ??EXIT WHEN I = 5; END LOOP OUTER;