使用一个insert命令插入多行

tri*_*ity 5 sql oracle

是否可以使用一个insert语句在表中插入多行?我知道如果我这样做会发生:

insert into table ( fields ) select values from another_table
Run Code Online (Sandbox Code Playgroud)

但是如果我想插入怎么办:

row 1 - ( a1, b1, c1 )
row 2 - ( a2, b2, c2 )
...
row n - ( an, bn, cn )
Run Code Online (Sandbox Code Playgroud)

只有一个插入命令?

Loï*_*ier 7

两种解决方案(来源:http://appsfr.free.fr/spip.php?article21):

INSERT ALL
INTO table (column1, column2)
VALUES (value1, value2)
INTO table (column1, column2)
VALUES (value1, value2)
...etc...
SELECT * FROM DUAL ;
Run Code Online (Sandbox Code Playgroud)

要么

INSERT INTO table (column1, column2)
SELECT value1, value2 FROM DUAL UNION ALL
SELECT value1, value2 FROM DUAL UNION ALL
...etc...
SELECT value1, value2 FROM DUAL ;
Run Code Online (Sandbox Code Playgroud)


Ahm*_*ıcı 5

全部插入

INSERT ALL
   INTO mytable (column1, column2, column3) VALUES ('val1.1', 'val1.2', 'val1.3')
   INTO mytable (column1, column2, column3) VALUES ('val2.1', 'val2.2', 'val2.3')
   INTO mytable (column1, column2, column3) VALUES ('val3.1', 'val3.2', 'val3.3')
SELECT * FROM dual;
Run Code Online (Sandbox Code Playgroud)