用于插入数据的 Oracle Apex while 循环

Oracle Apex while loop for inserting data

我想在 table 中插入相当多的行来表示很多停车位。 table 包含 3 个字段,Parking_Space_ID、Space 状态和 Zone_ID - 来自 3 个彩色区域之一。每个区域分别有120、120和300个车位。

我试图创建一个 while 循环来为每条记录插入 Zone_ID,因为状态可以保持为默认值并且 ID 是自动生成的:

DECLARE i int = 0
WHILE i < 120
BEGIN
    SET i = i + 1
    INSERT INTO tbl_Parking_Space (Zone_ID)
    VALUES (1)

    INSERT INTO tbl_Parking_Space (Zone_ID)
    VALUES (2)
END

SET i = 0
WHILE i < 300
BEGIN
    SET i = i + 1
    INSERT INTO tbl_Parking_Space (Zone_ID)
    VALUES (21)
END

在 运行 上,我从第 1 行和可能更多的地方收到错误,我不确定如何处理。我得到的当前错误是:

ORA-06550: line 1, column 15: PLS-00103: Encountered the symbol "=" when expecting one of the following: := . ( @ % ; not null range default character ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_210100", line 669 ORA-06512: at "SYS.DBMS_SYS_SQL", line 1658 ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_210100", line 655 ORA-06512: at "APEX_210100.WWV_FLOW_DYNAMIC_EXEC", line 1855

不幸的是,我不确定如何处理。预先感谢您的任何回复。

开发人员,如果 Oracle 已经为我们发明了您自己的语法,您为什么要发明自己的语法?

这是编译代码并做一些事情。我不知道这是否是您想要的,但是 - 既然您有一些东西可以使用,请随意改进它。

SQL> declare
  2    i int := 0;
  3  begin
  4    while i < 120 loop
  5      i := i + 1;
  6      insert into tbl_parking_space(zone_id)values(1);
  7      insert into tbl_parking_space(zone_id)values(2);
  8    end loop;
  9
 10    i := 0;
 11    while i < 300 loop
 12      i := i + 1;
 13      insert into tbl_parking_space(zone_id)values(21);
 14    end loop;
 15  end;
 16  /

PL/SQL procedure successfully completed.

SQL> select count(*) from tbl_parking_space;

  COUNT(*)
----------
       540

SQL>