Oracle:PL/SQL--流程控制(三)——循环结构:loop、while-loop、for-loop

—–流程控制(三)

—–循环结构
—–1、loop循环

语法:

loop
     statements;
end loop;

—–实现计数器功能,当计数器为10或者大于10时退出

declare
    v_count integer := 1; --定义变量
begin 
    loop  --循环执行+1操作
        v_count := v_count + 1;
        if v_count >= 10 then  --当变量大于等于10退出循环
             exit;
         end if;
     end loop;
     dbms_output.put_line('结果为:'||v_count);
end;        

这里写图片描述


——2、 while-loop循环(类似于while循环)

语法:

while condition
loop
   {...statements...}
end loop;

—–实现计数器功能,当计数器为10或者大于10时退出

declare
    v_count integer := 1; --定义变量
begin 
    while v_count <= 10
    loop  --循环执行+1操作
        v_count := v_count + 1;
        dbms_output.put_line('本次结果为:'||v_count);
     end loop;
     dbms_output.put_line('最终结果为:'||v_count);
end;        

这里写图片描述
这里写图片描述

—————-循环终止条件有误,应为v_count < 10————————


—-3、for-loop循环(类似与for循环)
语法:

for loop_count in [reverse] lower_bound..height_bound 
/*
lower_bound.··--循环次数最小值

height_bound --循环次数最大值
*/
loop
      statements;
end loop;

—–实现计数器功能,当计数器为5或者大于5时退出

declare
    v_count integer := 0; --定义变量
begin 
    for i in 1..5 LOOP 
        v_count := v_count + 1;
        dbms_output.put_line('本次结果为:'||v_count);
     end loop;
     dbms_output.put_line('最终结果为:'||v_count);
end;   

这里写图片描述


—— reverse 的作用
reverse n. 背面;相反;倒退;失败 vt. 颠倒;倒转
所以,此处reverse的作用是,从循环次数最大值开始,倒着来

这里写图片描述
这里写图片描述

原文地址:https://www.cnblogs.com/MountDa/p/5831733.html