ORACLE中的循环

循环可以多次运行一条或者多条语句。在PL/SQL中有3种类型的循环:

LOOP循环  直到显示结束条件出现之前一直运行。

WHILE  直达某个特定条件出现之前一直运行。

FOR循环  运行预先确定的次数。

接下来分别介绍这些循环

 

LOOP循环:

LOOP循环在显示结束它之前会一直运行,语法如下:

LOOP
    statements
END LOOP;

要结束LOOP循环,可以使用EXIT或EXIT WHEN语句,EXIT语句立即结束循环,EXIT WHEN语句在指定条件出现时结束循环。

例子:

--LOOP循环
SET SERVEROUTPUT ON;
DECLARE 
  counter INTEGER := 0;
BEGIN
  LOOP
    counter := counter + 1;
    dbms_output.put_line(counter);
    EXIT WHEN counter = 5;
  END LOOP;
END;
/

 

WHILE循环:

WHILE循环在某个特定条件出现之前一直运行,语法如下:

WHILE condition LOOP
    statements
END LOOP;

例子:

--WHILE循环
SET SERVEROUTPUT ON;
DECLARE
  counter INTEGER := 0;
BEGIN
  WHILE counter < 5 LOOP
    counter := counter + 1;
    dbms_output.put_line(counter);
  END LOOP;
END;
/

 

FOR循环:

FOR循环会运行预先确定的次数,可通过给循环变量指定下限和上限来确定循环运行的次数,然后,循环变量在每次循环中递增(或递减),语法如下:

FOR loop_variale IN [REVERSE] lower_bound.. upper_bound LOOP
    statements
END LOOP;

例子:

loop_variable指定循环变量,可以将已经存在的变量用作循环变量,也可以让循环语句自己创建循环变量(当所指定的变量不存在时会发生这种情况)。循环变量的值在每一次循环中都增加(如果使用了REVERSE关键字则减少)1。

REVERSE指定在每一次循环中循环变量都会减少。循环变量先被初始化为其上限,然后在每一次循环中递减1,直至达到其下限。下限依然要在上限之前定义。

lower_bound指定循环的上限。在没有使用REVERSE的情况下,循环变量初始化为这个下限值。

upper_bound指定循环的下限。如果使用了REVERSE,循环变量就初始化为这个上限。

例子:

--FOR循环
SET SERVEROUTPUT ON;
BEGIN  
  FOR count1 IN 1..5 LOOP
     dbms_output.put_line(count1);
  END LOOP;
END;
/

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值