我无法在 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 TABLE
和 INSERT 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>
我正在尝试在 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 TABLE
和 INSERT 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>