Oracle中loop语句会先执行一次循环,然后再判断“exit when”关键字后面的条件表达式的值是true还是false,如果是true,那么将退出循环,否则继续循环。
LOOP循环
语法如下
loop plsql_sentence;exit when end_condition_expend 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