Oracle Insert All语句

一、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;  

参数说明:

  • table_name:它指定要在其中插入记录的表。
  • column1,column2,column_n:这指定表中要插入值的列。
  • expr1, expr2, expr_n:这指定了分配给表中列的值。

二、Oracle Insert All语句 示例

此示例指定如何在一张表中插入多条记录。在这里,我们将三行插入“suppliers”表中。

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 行插入到供应商表中,1 行插入到客户表中。

热门文章

优秀文章