plsql-04-循环结构

5 篇文章 0 订阅
-----------------------------------------------------
循环结构
-----------------------------------------------------

9. 使用循环语句打印 1 - 100.(三种方式)
(方式一) loop ... exit when 循环条件 end loop;
declare
--初始化条件
v_i number(3) :=1 ;
begin
loop
--循环体
dbms_output.put_line(v_i);

--结束循环的条件
exit when v_i =100;
v_i := v_i+1;
end loop;
end;

(方式二)while 循环条件 loop...end loop;
declare
v_i number(3) :=1;
begin
while v_i <=100 loop
dbms_output.put_line(v_i);
v_i := v_i+1;
end loop;
end;
(方式三)for 变量 in 1..100必须是数字段,必须是从小到大 loop ... end loop
begin
for i in 1..100 loop
dbms_output.put_line(i);
end loop;
end;


10. 综合使用 if, while 语句, 打印 1 - 100 之间的所有素数
(素数: 有且仅用两个正约数的整数, 2, 3, 5, 7, 11, 13, ...).

declare
v_flag number(1):=1;
v_i number(3):=2;
v_j number(2):=2;
begin

while (v_i<=100) loop
while v_j <= sqrt(v_i) loop
if (mod(v_i,v_j)=0) then v_flag:= 0;
end if;
v_j :=v_j +1;
end loop;
if(v_flag=1) then dbms_output.put_line(v_i);
end if;

v_flag :=1;
v_j := 2;
v_i :=v_i +1;
end loop;

end;


(法二)使用for循环实现1-100之间的素数的输出
declare
--标记值, 若为 1 则是素数, 否则不是
v_flag number(1) := 0;
begin
for i in 2 .. 100 loop

v_flag := 1;
for j in 2 .. sqrt(i) loop
if i mod j = 0 then
v_flag := 0;
end if;
end loop;
if v_flag = 1 then
dbms_output.put_line(i);
end if;
end loop;
end;

11. 使用 goto,exit跳出循环
1:循环内定义goto label;循环外定义<<label>>
2:循环内定义 exit;
11+.打印1——100的自然数,当打印到50时,跳出循环,输出“打印结束”
(方法一)
begin
for i in 1..100 loop
dbms_output.put_line(i);
if(i = 50) then
goto label;
end if;
end loop;
<<label>>
dbms_output.put_line('打印结束');

end;
(方法二)
begin
for i in 1..100 loop
dbms_output.put_line(i);
if(i mod 50 = 0) then dbms_output.put_line('打印结束');
exit;
end if;
end loop;
end;






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值