Orcale循环的用法

1.简单循环
loop
    sequence of statements;
end loop;
例:
declare
      a number:=100;
begin
  loop
      a:=a+25;
      exit when a=250;
  end loop;
  dbms_output.put_line(to_char(a));--注意这里用to_char()
end;

2.While循环
while <condition>
loop
    sequence of statements;
end loop;
例:
declare
   i number:=0;
   j number:=0; 
begin
   while i<=100 loop
         j:=j+i;
         i:=i+2;
   end loop;
end;

3.For循环
For counter in [Reverse]lowerbound…upperbound
loop
    sequence of statements;
end loop;  

counter是计数器变量,此处不用声明,此变量在循环体中只能读取,不能赋值。如i++是错误的
lowbound是下界
upperbound是上界,默认情况下,从下界到上界进行迭代,如果使用关键字Reverse,则从上界到下界进行迭代
例:
begin
  for i in 1..2--如果反向,使用Reverse关键字即可
  loop
        update order_master set ostatus='p' where odate<sysdate;
  end loop;
end;
在Oracle数据库中,常见的循环结构有 `LOOP` 循环、`FOR` 循环和 `WHILE` 循环,下面介绍它们的使用方法和示例。 ### LOOP 循环 `LOOP` 循环会不断执行循环体中的语句,直到遇到 `EXIT` 语句才会退出循环。其基本语法如下: ```plsql LOOP -- 循环体 EXIT WHEN condition; END LOOP; ``` 示例:计算 1 到 10 的整数之和 ```plsql DECLARE v_sum NUMBER := 0; v_counter NUMBER := 1; BEGIN LOOP v_sum := v_sum + v_counter; v_counter := v_counter + 1; EXIT WHEN v_counter > 10; END LOOP; DBMS_OUTPUT.PUT_LINE('1 到 10 的整数之和为: ' || v_sum); END; ``` ### FOR 循环 `FOR` 循环用于执行固定次数的循环,会自动控制循环计数器的递增或递减。其基本语法如下: ```plsql FOR counter IN [REVERSE] lower_bound..upper_bound LOOP -- 循环体 END LOOP; ``` 示例:计算 1 到 100 的整数之和 ```plsql DECLARE var_sum NUMBER := 0; BEGIN FOR i IN 1..100 LOOP var_sum := var_sum + i; END LOOP; DBMS_OUTPUT.PUT_LINE(var_sum); -- 输出 5050 END; ``` ### WHILE 循环 `WHILE` 循环在每次循环开始前检查条件,只有当条件为 `TRUE` 时才会执行循环体。其基本语法如下: ```plsql WHILE condition LOOP -- 循环体 END LOOP; ``` 示例:计算 1 到 10 的整数之和 ```plsql DECLARE v_sum NUMBER := 0; v_counter NUMBER := 1; BEGIN WHILE v_counter <= 10 LOOP v_sum := v_sum + v_counter; v_counter := v_counter + 1; END LOOP; DBMS_OUTPUT.PUT_LINE('1 到 10 的整数之和为: ' || v_sum); END; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值