greenZ

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
1.顺序
2.分支
2.1 分之 if
2.2 分之 case
3.循环
3.1 
loop 
exit when <expression> ;
loop;
3.2
while <expression>  loop
end loop;
3.3
for i in n1..n2 loop
end loop;
for i in rec loop
end;
 
------------------
 
流程控制语句
1.顺序
2.分支
if <expression> then
  <body>
end if;

if <expression> then
  <body>
else
  <body>
end if;

if <expression> then
  <body>
elsif
  <body>
end if;

3.循环
--当型
loop 
  exit when <expression>;
  <body>
end loop;
--直到型
loop 
  <body>
  exit when <expression>;
end loop;
--其他
loop 
  <body1>
  exit when <expression>;
  <body2>
end loop;
说明:其他这种写法,很适合游标的fetch


例子:
set serveroutput on;

declare
vi_num integer := 1;
vi_sum integer default 0;
begin
  loop
      exit when vi_num > 100;
      vi_sum := vi_sum + vi_num;
      vi_num := vi_num + 1;
  end loop;
dbms_output.put_line('vi_num='||vi_num||',vi_sum='||vi_sum);
end;
/

--当型
while <expression> loop
  <body>
end loop;

for <variable> in <value1> .. <value2>|<cursor>|<select语句>  
loop
  <body>
end loop;

 

posted on 2017-03-04 13:28  绿Z  阅读(292)  评论(0)    收藏  举报