📜  Oracle全部插入

📅  最后修改于: 2020-11-15 03:32:26             🧑  作者: Mango

Oracle INSERT ALL语句

Oracle INSERT ALL语句用于通过单个INSERT语句插入多行。您可以仅使用一个SQL命令将行插入到一个表或多个表中。

句法

INSERT ALL
  INTO table_name (column1, column2, column_n) VALUES (expr1, expr2, expr_n)
  INTO table_name(column1, column2, column_n) VALUES (expr1, expr2, expr_n)
  INTO table_name (column1, column2, column_n) VALUES (expr1, expr2, expr_n)
SELECT * FROM dual;

参量

1)table_name:它指定要在其中插入记录的表。

2)column1,column2,column_n:这指定表中要插入值的列。

3)expr1,expr2,expr_n:这指定要分配给表中列的值。

Oracle INSERT ALL示例

本示例指定如何在一个表中插入多个记录。在这里,我们在“供应商”表中插入三行。

INSERT ALL
  INTO suppliers (supplier_id, supplier_name) VALUES (20, 'Google')
  INTO suppliers (supplier_id, supplier_name) VALUES (21, 'Microsoft')
  INTO suppliers (supplier_id, supplier_name) VALUES (22, 'Apple')
SELECT * FROM dual;

输出量

3 row(s) inserted.
0.02 seconds

这完全等效于以下三个INSERT语句。

INSERT INTO suppliers (supplier_id, supplier_name) VALUES (1000, 'Google');
INSERT INTO suppliers (supplier_id, supplier_name) VALUES (2000, 'Microsoft');
INSERT INTO suppliers (supplier_id, supplier_name) VALUES (3000, 'Apple');

Oracle INSERT ALL示例:(插入多个表)

INSERT ALL语句还可用于仅通过一条命令将多行插入到一个以上的表中。

在下面的示例中,我们将在“ suppliers”和“ customers”表中插入记录。

INSERT ALL
  INTO suppliers (supplier_id, supplier_name) VALUES (30, 'Google')
  INTO suppliers (supplier_id, supplier_name) VALUES (31, 'Microsoft')
  INTO customers (age, name, address) VALUES (29, 'Luca Warsi', 'New York')
SELECT * FROM dual;

输出量

3 row(s) inserted.
0.03 seconds

在这里,总共插入了3行,将2行插入了Suppliers表,将1行插入了customer表。