试图在我的 SQL 表中插入多行。总是显示 SQL 命令未正确结束 [重复]

Posted

技术标签:

【中文标题】试图在我的 SQL 表中插入多行。总是显示 SQL 命令未正确结束 [重复]【英文标题】:Trying to insert multiple rows in my table in SQL.Always showing SQL Command not ended properly [duplicate] 【发布时间】:2021-05-28 19:40:04 【问题描述】:

我正在尝试使用以下查询将多行插入到我的表中:INSERT INTO TABLE2(ID) VALUES(1),(2)。它显示 SQL 命令未结束。

是语法错误吗?我已经重新检查过,但仍然不清楚出了什么问题。

【问题讨论】:

Oracle 不允许这种语法。你可以做单独的插入;或insert all,但不确定这对您有多大帮助。 【参考方案1】:

当然是无效的语法。但是,这里有 3 个可行的选项。

SQL> create table table2(id number);

Table created.

SQL>
SQL> insert into table2(id) values(1);

1 row created.

SQL> insert into table2(id) values(2);

1 row created.

SQL>
SQL> insert all
  2    into table2(id) values (1)
  3    into table2(id) values (2)
  4  select * from dual;

2 rows created.

SQL>
SQL> insert into table2(id)
  2  select 1 from dual
  3  union all
  4  select 2 from dual;

2 rows created.

SQL>

【讨论】:

谢谢。 Oracle 不允许像我看起来那样进行多次插入。

以上是关于试图在我的 SQL 表中插入多行。总是显示 SQL 命令未正确结束 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 ms-access 表中插入多行的 SQL 代码

怎样在sql中用insert语句往表中插入多行

使用控制器中的 prepareStatement 向表中插入多行失败

如何用SQL语句向一个表中插入多行记录

如何用SQL语句向一个表中插入多行记录

如何使用 SQL 或 PLSQL 将多行数据插入 Oracle 中的表中?