【问题标题】:Multiple Inserts in SQL Developer [duplicate]SQL Developer中的多次插入[重复]
【发布时间】:2022-01-05 13:51:34
【问题描述】:

我尝试在 SQL Developer 中插入以下内容

 insert into tabletest values 
(1, null, 23, 2020),
(2, null, 23, 2021),
(3, 77, 23, 2022),
(4, 77, 23, 2023),
(5, 77, 23, 2024),
(6, null, 23, 2025);

但它给了我以下错误

错误报告 - SQL 错误:ORA-00933:SQL 命令未正确结束 00933. 00000 - “SQL 命令未正确结束”

谁能告诉我查询中的错误是什么

【问题讨论】:

  • OracleDB 不允许在 INSERT .. VALUES 中使用多个值块。使用 INSERT .. SELECT 代替。
  • 此命令在 SQL Server 上允许,但在 Oracle 上不允许。
  • 谢谢@Akina!

标签: sql oracle oracle-sqldeveloper


【解决方案1】:

对于 Oracle 数据库中的多个插入,您可以使用这些解决方案之一

insert all 
 into tabletest values (1, null, 23, 2020)
 into tabletest values (2, null, 23, 2021)
 into tabletest values (3, 77, 23, 2022)
 into tabletest values (4, 77, 23, 2023)
 into tabletest values (5, 77, 23, 2024)
 into tabletest values (6, null, 23, 2025)
 select * from dual
 ;

insert into tabletest
    select 1, null, 23, 2020 from dual union all
    select 2, null, 23, 2021 from dual union all
    select 3, 77, 23, 2022 from dual union all
    select 4, 77, 23, 2023 from dual union all
    select 5, 77, 23, 2024 from dual union all
    select 6, null, 23, 2025 from dual
;

【讨论】:

  • 或者只是 6 个不同的 INSERT 值。
猜你喜欢
  • 2016-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-16
  • 2017-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多