PLSQL嵌套循环输出数据

PLSQL nested loop to output data

我正在尝试找到一个代码来创建一个框,例如... XXX XXX XXX (exp. 3x3) 取决于用户输入的行和高度变量。我的嵌套循环无法正常工作。我能得到一些帮助吗?

这是代码...

Set ServerOutput on;
Declare

  RectangleHeight Number(2):=5;
  RectangleWidth Number(2):=;
  RowCount Number(1) :=0;
  ColumnCount Number(1) :=0;
 Begin 
Loop 
Exit When RowCount>=RectangleHeight;
    Loop
    Exit When ColumnCount>=RectangleWidth;
    dbms_output.put_line('X');  
    ColumnCount := ColumnCount+1;
    End Loop;
RowCount := RowCount+1;
End Loop;


End;

循环并没有真正的问题,只是逻辑需要稍微调整一下。
首先,第 5 行出现语法错误:RectangleWidth Number(2):=;
修复我们还有一些问题需要解决。

1) 您在循环宽度部分的每个 X 之后放置了一个新行 \n。这可能应该是没有新行的单个 X
2)输出对象宽度后,ColumnCount变量会发生什么变化?
3) 输出一整行后,如何换行?

带有注释的示例代码:

SET ServerOutput ON;
DECLARE
  RectangleHeight NUMBER(2) :=5;
  RectangleWidth  NUMBER(2) :=9; -- FIXED SYNTAX ERROR
  RowCount        NUMBER(1) :=0;
  ColumnCount     NUMBER(1) :=0;
BEGIN
  LOOP
    EXIT WHEN RowCount>=RectangleHeight;
    LOOP
      EXIT WHEN ColumnCount>=RectangleWidth;
        dbms_output.put('X'); -- DON'T PUT A NEW LINE, JUST USE PUT
        ColumnCount := ColumnCount+1;
    END LOOP;
    ColumnCount := 0; -- AFTER A SUCCESSFUL ROW IS OUTPUT, WE RESET OUR COLUMN COUNTER
    RowCount := RowCount+1;
    dbms_output.put_line(null); -- JUST OUTPUTTING A BLANK LINE
  END LOOP;
END;
/

并且分别使用 59 作为高度和宽度的输入的输出:

XXXXXXXXX
XXXXXXXXX
XXXXXXXXX
XXXXXXXXX
XXXXXXXXX

我觉得这是作业,但我一直很喜欢这类视觉问题。