2PLSQL程序结构

分支结构:
IF语句: 1. IF语句:
IF 判断条件 THEN
满足条件时执行语句;
END IF ;

         2.  IF ELSE语句:
                        IF  判断条件  THEN   
                                 满足条件时执行语句;
                        ELSE  
                                 不满足条件时执行语句;  
                        END IF ;

         3.  IF ELSEIF...ELSE语句: 
                         IF  判断条件1  THEN  
                                    满足条件1时执行语句; 
                         ELSE 判断条件2 THEN 
                                   满足条件2时执行语句 ;
                                    ... 
                         ELSE  
                                   不满足条件时执行语句;  
                         END IF ;
循环结构:
case语句:功能与IF ELSEIF...ELSE语句类似 
语法如下:case (变量)
                      when  (值,表达式)  then 
                                            执行语句块;
                      when  (值,表达式)  then 
                                            执行语句块;
                      else 
                         不满足条件时执行语句块; 
                end case; 
loop循环:先执行后判断,只是执行一次        
                loop                                                      
                    循环执行的语句块;
                exit when 循环结束条件;-- 也可使用 if 判断条件 then exit end if;  退出循环
                    循环结束条件修改;
                end loop;
如:declare
  v_num number := 1;
begin
  loop
    exit when v_num > 10;
    dbms_output.put_line(v_num);  --放此处先判断后输出
    v_num := v_num + 1;
  end loop;
end;
值为:1.2.3.4.5.6.7.8.9.10

declare
  v_num number := 1;
begin
  loop
    dbms_output.put_line(v_num);--放此处先输出后判断
    exit when v_num > 10;
    v_num := v_num + 1;
  end loop;
end;
值为:1.2.3.4.5.6.7.8.9.10.11

declare
  v_num number := 1;
begin
  loop
    if v_num > 10 then 
     exit;
     end if;
    dbms_output.put_line(v_num);  --放此处先判断后输出
    v_num := v_num + 1;
  end loop;
end;
while loop循环: 先判断后执行
               while (循环结束条件)  loop
                      循环执行的语句块;
                      循环结束条件修改;
                end loop;
如:declare    
              v_1   number :=1;                                         --赋值,v_1初始值为1
        degin
              while (v_1>=3) loop                                     --v_1大于等于3后不循环
                      DBMS_OUTPUT.put_line('v_1=' || v_1);
                           v_1:=v_1+1;                                      --循环语句,自动加以
               end loop;
        end;
         /
for循环:
            for 循环索引 in (reverse)循环区域下限 .. 循环区域上限 loop   --reverse翻转循环,递减方式
                            循环执行的语句块;
            end loop;
如:declare    
              v_1   number :=1;                                         --赋值,v_1初始值为1
        degin
              for v_1 in 1..3 loop                                        --循环3次 
                      DBMS_OUTPUT.put_line('v_1=' || v_1);
               end loop;
        end;
         /
循环控制:在正常循环的操作之中,如果需要结束循环或者退出当前循环,则可以使用 EXIT 与 CONTINUE语句完成。
                一般这两种控制语句都要结合分支语句进行判断
如:declare    
              v_1   number :=1;                                         --赋值,v_1初始值为1
        degin
              for v_1 in 1..10 loop                                        --循环10if v_1=3 then 
                            EXIT;                                              --当v_1=3的时候结束循环
                 end if;
                      DBMS_OUTPUT.put_line('v_1=' || v_1);
               end loop;
        end;
         /
结果为:v_1=1 v_1=2 v_1=3

declare    
              v_1   number :=1;                                         --赋值,v_1初始值为1
        degin
              for v_1 in 1..10 loop                                        --循环10if v_1=3 then 
                            CONTINUE;                                              --当v_1=3的时候跳过,从4重新开始
                 end if;
                      DBMS_OUTPUT.put_line('v_1=' || v_1);
               end loop;
        end;
         /
结果为:v_1=1 v_1=2 v_1=4 v_1=5 v_1=6 v_1=7 v_1=8 v_1=9 v_1=10 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值