SQL导航器-“插入”语句不适用于多行

问题描述 投票:0回答:1

单行效果很好:

insert into maalerverdi.evverdigrenser
(maalepktnr, fradato, tildato, telleverkartnr, minimum, maximum)
values 
(100121, '01-jan-2019', '01-jun-2073', 202, -0.0001, 50)

但是添加多行不起作用:

insert into maalerverdi.evverdigrenser
(maalepktnr, fradato, tildato, telleverkartnr, minimum, maximum)
values 
(100121, '01-jan-2019', '01-jun-2073', 202, -0.0001, 50),
(100126, '01-jan-2019', '01-jun-2073', 202, -0.0001, 50);

错误:SQL命令未正确结束

sql sql-insert
1个回答
0
投票

您的错误消息看起来像Oracle的ORA-00933(其消息是SQL command not properly ended)。实际上,该数据库(与许多其他数据库不同)不支持您用于一次插入多行的语法。

如果要在单个语句中执行此操作,则可以改用the insert all syntax。其目的是将insert all分为一个或多个表,因此您需要重复表名和列列表:

insert

旁注:您似乎正在尝试插入insert all into maalerverdi.evverdigrenser (maalepktnr, fradato, tildato, telleverkartnr, minimum, maximum) values (100121, '01-jan-2019', '01-jun-2073', 202, -0.0001, 50) into maalerverdi.evverdigrenser (maalepktnr, fradato, tildato, telleverkartnr, minimum, maximum) values (100126, '01-jan-2019', '01-jun-2073', 202, -0.0001, 50); 列。如果是这样,我建议您使用标准语法声明日期文字,而不要使用此自定义格式(Oracle是否将其成功解释为日期取决于您的数据库和会话设置)。那将是:

date
© www.soinside.com 2019 - 2024. All rights reserved.