Oracle 9i加入了支持一次向多个表同时插入数据的SQL语句 --- INSERT ALL|FIRST INTO…SELECT…FROM…

 
INSERT ALL|FIRST
   [WHEN condition THEN] INTO target [VALUES]
   [WHEN condition THEN] INTO target [VALUES]
   ...
   [ELSE] INTO target [VALUES]
SELECT ...
FROM   source_query;
 
 
关于 INSERT ALL/FIRST, Adrian Billington在他的文章中有详细介绍。
 

这里主要讲可以用INSERT ALL把如下多条SQL语句放到一条SQL语句中来执行,

 

 
SQL> INSERT INTO t(id, val) values (1, 'Y'); 
1 row created. 
SQL> INSERT INTO t(id, val) values (2, 'Y'); 
1 row created. 
SQL> INSERT INTO t(id, val) values (3, 'Y'); 
1 row created. 
SQL> INSERT INTO t(id, val) values (4, 'Y'); 
1 row created. 

 

 

用INSERT ALL转换 ===>

 
SQL> INSERT ALL
  2    INTO t(id, val) VALUES(1, 'Y')
  3    INTO t(id, val) VALUES(2, 'Y')
  4    INTO t(id, val) VALUES(3, 'Y')
  5    INTO t(id, val) VALUES(4, 'Y')
  6  SELECT NULL FROM dual;
 
4 rows created.
 
SQL>

相关文章:

  • 2021-08-31
  • 2022-03-03
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-15
  • 2022-02-01
  • 2022-12-23
  • 2022-01-04
  • 2022-12-23
相关资源
相似解决方案