我无法在 oracle apex 中创建 table

I can not create a table in oracle apex

我正在尝试在 apex 网站上创建以下内容 table,但它给了我一个错误。我在 SQL plus 中测试了它并且它运行良好。

    CREATE TABLE job_grade
   (Grade_level varchar(2) not null,
    lowest_sal number not null,
    highest_sal number not null);


INSERT ALL
    INTO job_grade
    VALUES ('A', 0, 1000)
    INTO job_grade
    VALUES ('B', 1001, 2000)
    INTO job_grade
    VALUES ('C', 2001, 3000)
    INTO job_grade
    VALUES ('D', 3001, 4000)
    INTO job_grade
    VALUES ('E', 4001, 5000)
SELECT * FROM DUAL;

输出:

   ORA-00911: invalid character
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_210200", line 673
ORA-06512: at "SYS.DBMS_SYS_SQL", line 1658
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_210200", line 659
ORA-06512: at "APEX_210200.WWV_FLOW_DYNAMIC_EXEC", line 1829


4.     highest_sal number not null);
5. INSERT ALL
6.     INTO job_grade
7.     VALUES ('A', 0, 1000)
8.     INTO job_grade

问题出在 apex 中的 SQL 创意工坊。这不像 sqlplus 或 sqldeveloper 那样工作。如果单击“运行”,apex 将尝试 运行 将所有内容作为单个语句,如果有多个语句,则失败。

但别担心,有一个简单的解决方法。用鼠标突出显示该语句,然后单击 运行。这将 运行 只有突出显示的语句。所以在这种情况下,突出显示 CREATE TABLE 语句和 运行,然后突出显示 INSERT ALL 语句和 运行。

对于 运行 多个语句,请改用“SQL 脚本”。

照@Koen 说的做。

或者,运行“组合”CREATE TABLEINSERT INTO 的单个 CTAS:

SQL> create table job_grade (grade_level, lowest_sal, highest_sal) as
  2    select 'A',    0, 1000 from dual union all
  3    select 'B', 1001, 2000 from dual union all
  4    select 'C', 2001, 3000 from dual union all
  5    select 'D', 3001, 4000 from dual union all
  6    select 'E', 4001, 5000 from dual;

Table created.

SQL>