declare
     num1 int;
     num2 int ; 
     str varchar(100) ;
 begin
      num1 := 1 ;
      num2 := 1 ;
      str :='' ;
      while num1 < 10 loop
        num2 := 1 ;
        while num2 <= num1 loop
           str := str||'   '||num2||'*'||num1||'='||(num1*num2) ;
           num2 := num2 +1 ;
        end loop ;
        DBMS_OUTPUT.put_line(str) ;
        str:='' ;
        num1 := num1 +1 ;
      end loop ;
 end ; declare
     num1 int;
     num2 int ; 
     str varchar(100) ;
 begin
      num1 := 1 ;
      num2 := 1 ;
      str :='' ;
      while num1 < 10 loop
        num2 := 1 ;
        while num2 <= num1 loop
           str := str||'   '||num2||'*'||num1||'='||(num1*num2) ;
           num2 := num2 +1 ;
        end loop ;
        DBMS_OUTPUT.put_line(str) ;
        str:='' ;
        num1 := num1 +1 ;
      end loop ;
 end ;

解决方案 »

  1.   

    STUDY .. :-)
    SQL> DECLARE
      2      NUM1 INT;
      3      NUM2 INT ;
      4      STR VARCHAR(100) ;
      5  BEGIN
      6        NUM1 := 1 ;
      7        NUM2 := 1 ;
      8        STR :='' ;
      9        WHILE NUM1 < 10 LOOP
     10          NUM2 := 1 ;
     11          WHILE NUM2 <= NUM1 LOOP
     12            STR := STR||'  '||NUM2||'*'||NUM1||'='||(NUM1*NUM2) ;
     13            NUM2 := NUM2 +1 ;
     14          END LOOP ;
     15          DBMS_OUTPUT.PUT_LINE(STR) ;
     16          STR:='' ;
     17          NUM1 := NUM1 +1 ;
     18        END LOOP ;
     19  END ;
     20  /  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=81PL/SQL procedure successfully completedExecuted in 0.719 secondsSQL>