Loops 用于输出数据的PLSQL嵌套循环

Loops 用于输出数据的PLSQL嵌套循环,loops,plsql,nested,dbms-output,Loops,Plsql,Nested,Dbms Output,我试图找到一个代码,创建一个框,如。。。 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 Exi

我试图找到一个代码,创建一个框,如。。。 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行出现语法错误:矩形宽度编号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;
/
以及分别使用5和9作为高度和宽度输入的输出:

XXXXXXXXX
XXXXXXXXX
XXXXXXXXX
XXXXXXXXX
XXXXXXXXX

我觉得这是家庭作业,但我一直喜欢这种视觉问题

是的,这是做家庭作业的,它正是我想要它做的。非常感谢你!!!