求助 PL/SQL编写 99乘法表

公司要求 用 PL/SQL编写 99乘法表,本人由于初学 ORACLE 所以希望高手帮偶下 谢谢了
我也来说两句 查看全部回复

最新回复

  • luocb1980 (2008-11-03 12:03:19)

    你可以试一下 以下 procedure:

    create or replace procedure multitest IS
      i number := 1;
      j number := 1;
      OT number:= 0;
    begin
      while i < 10 Loop
       
        while (j<i+1 and j<10) Loop
          Dbms_Output.put_line('I='||i);
          DBMS_OUTPUT.put_line('j='||j);
          OT := i * j;
          DBMS_OUTPUT.put_line('I*J='||OT);
          j:= j + 1;
        end loop;
        i:= i + 1;
        j:= 1;
      End loop;

    end multitest;
  • jack913.fan (2008-11-03 18:03:26)

    SQL> declare
      2    j      int := 1;
      3    result varchar2(200);
      4  begin
      5    for i in 1 .. 9 loop
      6      j := 1;
      7      while (j <= i) loop
      8        result := j || '*' || i || '=' || i * j;
      9        j      := j + 1;
    10        dbms_output.put(result||' ');
    11        end loop;
    12      dbms_output.put_line(' ');
    13    end loop;
    14  end;
    15  /

    1*1=1  
    1*2=2 2*2=4  
    1*3=3 2*3=6 3*3=9  
    1*4=4 2*4=8 3*4=12 4*4=16  
    1*5=5 2*5=10 3*5=15 4*5=20 5*5=25  
    1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36  
    1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49  
    1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64  
    1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81  

    PL/SQL procedure successfully completed

    SQL>
  • jack913.fan (2008-11-03 18:49:58)

    SQL> begin
      2    for i in 1..9 loop
      3      for j in 1..i loop
      4          dbms_output.put(i||'*'||j||'='||i*j||' ');
      5      end loop;
      6     dbms_output.put_line(' ');
      7    end loop;
      8   end;
      9  /

    1*1=1  
    2*1=2 2*2=4  
    3*1=3 3*2=6 3*3=9  
    4*1=4 4*2=8 4*3=12 4*4=16  
    5*1=5 5*2=10 5*3=15 5*4=20 5*5=25  
    6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36  
    7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49  
    8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64  
    9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
  • 黑色代码 (2008-11-04 08:28:46)

    我测试下 这段代码可以的


    declare
        i int:=1;
        v varchar2(200):=NULL;
        v1 varchar2(20):=NULL;
    begin
        loop
            for k in 1..i loop
                v1:=k||'*'||i||'='||k*i;
                v:=v||' '||v1;        
            end loop;
            dbms_output.put_line(v);
            v:=NULL;
        i:=i+1;
        exit when i>9;  
        end loop;
    end;
  • nemo410 (2008-11-04 08:55:12)

    基本算法的问题!
  • huangdh12 (2008-11-16 08:17:04)

    多几层循环控制,
    有点类算法中的排序