CREATE OR REPLACE
PROCEDURE "loop"
AS
/*
循环1-100 用三种方式
*/
v_i NUMBER := 1;
v_j NUMBER := 1;
BEGIN
-- 方式1
loop
dbms_output.put_line(v_i);
v_i := v_i + 1;
exit when v_i > 100;
end loop;
-- 方式2
while v_j <= 100 loop
dbms_output.put_line(v_j);
v_j := v_j + 1;
end loop;
-- 方式3 正序输出
for c in 1 .. 100 loop
dbms_output.put_line(c);
end loop;
-- 方式3 倒序输出
for c in reverse 1 .. 100 loop
dbms_output.put_line(c);
end loop;
END;
CREATE OR REPLACE
PROCEDURE "loop2"
AS
BEGIN
-- 打印 1-100的自然数,当打印到50时,跳出循环,输出打印结束
-- goto 跳出循环 到指定位置 exit相当于break;
for c in 1 .. 100 loop
dbms_output.put_line(c);
if c = 50 then
goto lable;
end if;
end loop;
<<lable>>
dbms_output.put_line('打印结束');
for c in 1 .. 100 loop
dbms_output.put_line(c);
if c = 50 then
dbms_output.put_line('打印结束'); exit;
end if;
end loop;
END;