zoukankan      html  css  js  c++  java
  • Oracle Insert 多行(转)

    1.一般的insert 操作。

      

      使用语法insert into table_name[(column[,column...])] values (value[,value…])的insert语句,每条insert只能插入到目标表中一条指定的数据。如果有很多行需要插入,而且这些数据来源于别 的表或多个表之间提取的数据,那么这就不能满足要求了。因此oracle提供了一个扩展,见下面描述。

      2.insert into table_name[(column[,column…])] select_statement

      

      Oracle提供了一个扩展,将通过select语句查询的记录插入到指定表的所有列或者指定列中。每次只能插入到一个表中,但是性能已经比写 很多条insert语句要高了。另外oracle还提供了直接create table table_name as select….(as不可以少!),实现直接创建表并且插入数据,依赖于后面的select语句的结果,比如只复制表结构,约束不赋值,那么可以使用 Create table new_table as select * from source_table where 1=0; --1=0不查询记录,只复制基本结构。

      比如有个需求:表mxt 新增了一个列time,那么这个新增的列在oracle 中会被放在所有列的后面,现在想把这个time列放在第2 个位置,那么可以使用这个操作:

      下面具体说明oracle 对insert 操作的其他扩展,实现目标,一条insert 操作,插入到多个表中,每个表插入多条记录。

      3向多个目标insert

      这里有四种类型:

      

      1. 无条件的insert

      2. 带条件的insert all

      3. 带条件的insert first

      4. pivoting insert

      多表insert使用限制:

      

      1. 只能对table使用多表insert,不能对视图或物化视图使用。

      2. 不能对远程表进行这个插入操作。

      3. 在做多表insert操作,不能指定一个表的集合表达式。

      4. 多表insert中的的into目标表加在一起的列数不能超过999 个。

  • 相关阅读:
    iOS 面试题搜集
    iOS 常用第三方类库、完整APP示例
    iOS 键盘遮挡输入 解决办法
    iOS UIColor RGB HEX
    iOS APP性能优化
    iOS Swift 数组 交换元素的两种方法
    iOS CoreData primitive accessor
    iOS Start developing ios apps (OC) pdf
    iOS 传值方式
    iOS IB_DESIGNABLE IBInspectable @IBDesignable @IBInspectable 加速UI开发
  • 原文地址:https://www.cnblogs.com/szxiaofei14/p/4175134.html
Copyright © 2011-2022 走看看