为什么我不能在 oracle 中 运行 多条语句?

why can't I run multiple statements in oracle?

我在以下代码中的问题是为什么我不能同时执行多个命令,而必须分别执行每个命令?

create table stores(id number,city varchar(30));
insert into stores values(1,'san fransisco');
insert into stores values(2,'chicago');

输出:

ORA-00922: missing or invalid option
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

您之前 的答案已经解释了 SQL Workshop 的工作原理。即旨在运行 单个语句。为什么 ?因为它被设计成那样工作。我的猜测是,最终他们会迁移到更像 sqldeveloper web 的东西,但现在,它就是这样。 如果将它们定义为脚本,则可以 运行 多个语句(SQL 创意工坊 > SQL 脚本)。

更新:请注意,您可以轻松地将多个 dml 语句修改为单个匿名 pl/sql 块。

测试示例 table:

create table t (c VARCHAR2(100));

以下语句不能运行一起出现在SQL创意工坊中。有必要一一标示,运行他们:

INSERT INTO t (c) VALUES ('a');
INSERT INTO t (c) VALUES ('b');
INSERT INTO t (c) VALUES ('c');

但下一个语句可以是运行。因为它是一个匿名 pl/sql 块,所以它只是一个语句。

BEGIN
INSERT INTO t (c) VALUES ('a');
INSERT INTO t (c) VALUES ('b');
INSERT INTO t (c) VALUES ('c');
END;
/