zoukankan      html  css  js  c++  java
  • [SQL Tricks] 一条SQL语句向一张表里插入多条记录 (Multitable inserts in 9i)

    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>
  • 相关阅读:
    [洛谷P2184]贪婪大陆
    [BJOI2006]狼抓兔子
    [JSOI2007]重要的城市(x)
    [NOIP2011提高组]Mayan游戏
    gitee 使用
    部分激光打印机清零方法
    django2.0内置分页
    django上下文处理器
    jquery键盘事件
    类视图装饰器
  • 原文地址:https://www.cnblogs.com/fangwenyu/p/1639610.html
Copyright © 2011-2022 走看看