PL/SQL脚本语言循环loop for while的用法学习示例

[color=red](一)、循环学习[/color]
(a)、loop 循环
declare
-- 求和变量 i变量 1.。100
v_sum number(5);
v_i number(5);
begin
v_sum :=0;
v_i := 1;

loop
v_sum := v_sum + v_i;
v_i := v_i+1;
exit when v_i>100; --退出条件
end loop;
dbms_output.put_line(v_sum);
(b)、for循环使用
在for循环中,不需要对循环变量(index)进行声明,oracle会默认把它当成binary_integer来使用
-- for 循环 for 变量 in 集合 loop 循环体; end loop;
--变量不需要声明 自动匹配集合内元素的类型 变量 还可以控制循环的次数 不可以被直接赋值
[color=red]--1..100 数值型集合的固定写法[/color]
示例(1)
for v_ii in 1..10 loop
v_sum := v_sum + v_ii;
v_ii := v_ii +1;
end loop;
--示例(2)
for v_ii in 1..5 loop
v_sum := v_sum + v_i;
v_i := v_i +2;
end loop;
dbms_output.put_line(v_sum);

(c)、while 循环使用
示例(3)
-- while 执行的条件 loop 循环体; end loop;
while v_i <=100 loop
v_sum := v_sum + v_i;
v_i := v_i +1;
end loop;
dbms_output.put_line(v_sum);
end;

[color=red](二)、三种方法输出乘法表[/color]
[color=red]示例(1)使用loop实现 [/color]
declare
v_i number(10);
v_j number(10);
begin
v_i := 1;
loop
v_j := 1;
loop
dbms_output.put(v_i||'*'||v_j||'='||v_i*v_j||' ');
v_j := v_j + 1;
exit when v_j > v_i;
end loop;
dbms_output.put_line('');
v_i := v_i + 1;
exit when v_i>9;
end loop;
end;

[color=red]示例(2)使用for实现 [/color]


declare

begin
v_d := 1;
for v_i in 1..9 loop
for v_j in 1..v_i loop
dbms_output.put(v_i||'*'||v_j||'='||v_i*v_j||' ');

end loop;
dbms_output.put_line('');
end loop;


end;


[color=red]示例(3)使用while实现[/color]

declare
v_i number(10);
v_j number(10);
begin
v_i := 1;
while v_i < 10 loop
v_j := 1;
while v_j <= v_i loop
dbms_output.put(v_i||'*'||v_j||'='||v_i*v_j||' ');
v_j := v_j + 1;
end loop;
dbms_output.put_line('');
v_i := v_i + 1;
end loop;
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值