Oracle结构控制语句

时间:2021-07-26 17:58:02
--if语句
if [判断条件] then
  --条件满足执行的语句
  end if;
  
-- if ...else...
if [判断条件] then
  ----条件满足执行的语句
  else
   --不满足条件的语句 
  end if;
 
--if...elsif...else
if [判断条件] then
  ----条件满足执行的语句
  elsif [判断条件] then
   --条件满足执行的语句
   else
   --不满足条件的语句   
   end if; 
  
  
--case条件判断语句
case [需要判断的变量]
  
when [变量条件判断] then
  --满足条件执行语句
  when [变量条件判断] then
  --满足条件执行语句
  else 
    --不满足条件执行语句
    end case;
 
--Loop循环控制语句
<<label_name>>--loop语句的标枪,可选。
Loop--开始循环的标志
  --执行代码体
  exit label_name | exit label_name when [退出循环的条件] ;--exit退出循环的标志
  
  end loop;
  
  --实例
  declare
  v_num number(8):=1;
  begin
    <<test_loop>>
    loop
      dbms_output.put_line('变量'||v_num);
      
      v_num:=v_num+1;
      if v_num>5 then
        exit test_loop;
     end if; 
     
     --exit test_loop when v_num>5;
     
    end loop;
  end;
  
 --while...loop语句
 <<label_name>>
 while [判断条件]
   loop
     --执行语句
   end loop [label_name];
   --当判断条件不满足时跳出loop循环
   
 --For...loop
 <<label_name>>
 for [循环计数器] in 
   [reverse]--关键字 相反的循环方式,有上标向下标递减
   [下标]..[上标]
  loop
    --执行语句
    end loop label_name;
  --实例
  begin
  <<test_for_loop>>
  for i in
  reverse --可选
   1..20 loop
    dbms_output.put_line(i);
    
    end loop test_for_loop;
    
  end;