oracle中的loop与while循环

Oracle中loop语句会先执行一次循环,然后再判断“exit when”关键字后面的条件表达式的值是true还是false,如果是true,那么将退出循环,否则继续循环。

LOOP循环

语法如下
loop
plsql_sentence;
exit when end_condition_exp
end loop;
具体例子如下:

 

declare 
i int:=0;
sum_i int:=0;
begin
  loop
    i :=i+1;
    sum_i:=i+sum_i;
    exit when i=100;
  end loop;
    dbms_output.put_line('前100个自然数的和是:'||sum_i);
end;

输出结果如下:

前100个自然数的和是:5050

WHILE循环

WHILE语句根据它的表达式的值执行零次或多次循环体,在每次执行循环体之前,首先要判断条件表达式的值是否为true,若为true,则程序执行循环,否则退出;

语法如下:

while condition_expression loop

plsql_sentence;

end loop;

具体例子:

declare 
i int:=0;
sum_i int:=0;
begin
  while i<100 loop 
    i :=i+1;
    sum_i:=i+sum_i;
  end loop;
    dbms_output.put_line('前100个自然数的和是:'||sum_i);
end;

输出结果为:

前100个自然数的和是:5050

 

posted @ 2015-12-19 18:29  OLIVER_QIN  阅读(987)  评论(0编辑  收藏  举报