zoukankan      html  css  js  c++  java
  • Oracle中的for和while循环

    Oracle中的for和while循环  
     
     
    有两种方式可以实现条件循环
     
    一、for  变量  in  开始数值...结束数值 loop     end loop;
     
    二、while 条件 loop       end  loop;
     
    loop的使用方式:
     
    一、X := 100;
     
      LOOP
     
        X := X + 10;
     
        IF X > 1000 THEN
     
          EXIT;
     
        END IF END LOOP;
     
        Y := X;
     
    二、 X := 100;
     
        LOOP
     
          X := X + 10;
     
          EXIT WHEN X > 1000;
     
          X := X + 10;
     
        END LOOP;
     
        Y := X;
     
    还有一个GOTO的使用,在后面的过程中会有的,用来产生错误日志。
     
    以下是一个非常简单的过程,用来熟悉循环的!
     
    create or replace procedure count_number is
     
      /*
     
      功能描述:计算计算出1到100的和
     
      t的值为和
     
      */
     
      i number(10);
     
      t number(10);
     
    begin
     
      /*
     
        i := 1;
     
        t := 0;
     
      --用while+loop实现
     
        /*begin
     
          while i <= 100 loop
     
            t := t + i;
     
            i := i + 1;
     
          end loop;
     
        end;
     
        */
     
      i := 1;
     
      t := 0;
     
      --用for实现
     
      begin
     
        for i in 1 .. 100 loop
     
          t := t + i;
     
        
    
        end loop;
     
      end;
     
    end count_number;
     
    for循环:
     
    [PL/SQL] 用For Loop 替代Cursor
     
    
     
     
     
     
    CURSOR FOR Loop
     
         FOR  employee_rec in c1  ---employee_rec直接用,不用提前定义
     
         LOOP
     
         total_val := total_val + employee_rec.monthly_income;
     
         END LOOP;
     
         当使用CURSOR FOR Loop时,不用我手工open cursor close cursor
     
    应用:
     
    begin
     
             FOR emm IN ( SELECT ro_site, ns_site, product_line, wh_type
     
                          FROM eis_hq_invhl_mail_data
     
                         WHERE report_type = 'Detailed' )
     
            LOOP
     
            DBMS_OUTPUT.put_line( emm.product_line );
     
                eis_hq_invhl_pkg.make_mail_detailed_data
     
                                            ( p_ro_site =>            emm.ro_site,
     
                                              p_ns_site =>            emm.ns_site,
     
                                              p_product_line =>       emm.product_line,
     
                                              p_wh_type =>            emm.wh_type,
     
                                              p_current_day =>        to_date('2005-11-07','yyyy-MM-dd') );
     
            END LOOP;
     
    end;
     
    存储过程DIY2----游标与循环
     
    while循环:
     
    WHILE( i <= CEIL( LENGTH( p_clob_data ) / 4000 ))
     
        LOOP
     
            v_clob_data := TRIM( SUBSTR( p_clob_data,
     
                                         i * 4000,
     
                                         4000 ));
     
            DBMS_OUTPUT.put_line( SUBSTR( v_clob_data,
     
                                          0,
     
                                          255 ));
     
           
    
            i := i + 1;
     
        END LOOP; 
  • 相关阅读:
    django从零开始-模板
    django从零开始-模型
    django从零开始-视图
    web基础
    django从零开始-入门
    Pycharm自动添加文件头注释
    django后台密码错误
    module 'sign.views' has no attribute 'search_name'
    TypeError: __init__() got an unexpected keyword argument 't_command'
    pycharm 中的 全局搜索(ctrl+shift+f) 功能无法使用的原因
  • 原文地址:https://www.cnblogs.com/tianciliangen/p/4980943.html
Copyright © 2011-2022 走看看