如何使用一个插入语句将多行插入到 oracle 数据库中? [复制]

Posted

技术标签:

【中文标题】如何使用一个插入语句将多行插入到 oracle 数据库中? [复制]【英文标题】:How can I insert multiple row into oracle database using one insert statement? [duplicate] 【发布时间】:2013-01-04 15:52:12 【问题描述】:

可能重复:Best way to do multi-row insert in Oracle?

我有这个插入语句

INSERT INTO mytable VALUES 
('val1', 'val2'),
('aa',   'cc'),
('ww',   'dd');

我得到了这个错误 ORA-00933: SQL 命令未正确结束

【问题讨论】:

@njk:这无济于事。 Oracle 根本不支持这种语法。 @a_horse_with_no_name 学到了一些新东西。 【参考方案1】:

你正在使用 oracle,试试这个

INSERT ALL 
    INTO mytable ("id", "name")
         VALUES ('val1', 'val2')
    INTO mytable ("id", "name")
         VALUES ('aa', 'cc')
    INTO mytable ("id", "name")
         VALUES  ('ww', 'dd')
SELECT * FROM dual  ;

或简单

INSERT INTO mytable ("id", "name") VALUES ('val1', 'val2');
INSERT INTO mytable ("id", "name") VALUES ('aa', 'cc');
INSERT INTO mytable ("id", "name") VALUES ('ww', 'dd');

【讨论】:

所以答案是否定的。

以上是关于如何使用一个插入语句将多行插入到 oracle 数据库中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在oracle 11g中使用一个INSERT语句在一列中插入多行[重复]

使用 PHP 将多行 Oracle 结果集插入 MYSQL

使用单个 INSERT 语句将多行插入到表中

使用 HSQL DB 测试插入所有 Oracle 查询

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

如何在一条语句中将多行插入 DB2?