Oracle中的循环控制语句语法

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中的循环控制语句语法)