我现在需要在oralce的存储过程中
实现在一个loop里,一个number类型的变量自加1
类似JAVA里的  num++;
请问oracle存储过程内如何实现?谢谢

解决方案 »

  1.   

    --****************
    --LOOP
    --****************
          V_CNT   NUMBER(2) DEFAULT 0;
    BEGIN
          LOOP
          EXIT   WHEN  V_CNT >= 99;
               V_CNT := V_CNT +1;        --here , V_CNT can be used
          END LOOP;
    END;
    --****************
    --FOR
    --****************
          V_CNT   NUMBER(4) DEFAULT 0;
    BEGIN
          FOR  V_CNT_SP  IN 1 .. 100   LOOP
              --V_CNT_SP  := V_CNT_SP +1;   --error, V_CNT_SP can't be used in here
              V_CNT  :=  V_CNT+1;
          END LOOP;
    END;
      

  2.   

    create or ....
    is
    v_count number(38);
    begin
            v_count :=0; --初始为0
           loop
            v_count :=v_count+1; --每次加1
           if (v_count = 100) then --100退出
                    exit;
           end if;
           dbms_output.put_line(v_count);
          end loop;
    end;
    /
      

  3.   

    1,4两种循环的不同方式。再上一种while方式的。create or replace procedure count_number is
      /*
      功能描述:计算出1到100的和
      t的值为和
      */
      i number(10):=0;
      t number(10):=0;
    begin
      --用while+loop实现
       while i <= 100 loop
            t := t + i;
            i := i + 1;
       end loop;
    end count_number;
      

  4.   

    好久没有来CSDN了,看来这边人气还是不错的,还是有很多好同志在回答问题的
      

  5.   

    java的num++只不是num=num+1的简写而已
    赋值语句在编程语言中都支持,但简写就未必了
    oracle 只支持 num := num + 1
    ":="是赋值号,等同于其它语言中的"="