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 个。
Oracle Insert 多行(转)的更多相关文章
- Oracle删除重复行
Oracle删除重复行 分类: ORACLE2010-12-12 17:10 423人阅读 评论(0) 收藏 举报 oracletabledeleteintegerinsert.net 查询及删除重复 ...
- Oracle INSERT ALL 语句介绍
描述 Oracle INSERT ALL 语句用来用一个 INSERT 语句添加多行.该行可以只使用一个SQL命令插入到一个表或多个表. 语法 Oracle INSERT ALL 语法如下: INSE ...
- 关于ORACLE的串行化隔离级别--来自ORACLE概念手册
为了描述同时执行的多个事务如何实现数据一致性,数据库研究人员定义了被 称为串行化处理(serializability)的事务隔离模型(transaction isolation model).当所有 ...
- Oracle数据库多行记录转换一行并排序函数
Oracle数据库多行记录转换一行并排序方法 在ORACLE数据库查询中,我们通常会要求用到将多行记录转换成一行并排序,这时候我们自然会想到Oracle的一个“wx_concat”函数,可以将多行记录 ...
- oracle Insert 一次插入多条记录
oracle Insert 一次插入多条记录有两种方法: 1)Insert All Into table_name values ... insert all into table_name valu ...
- oracle[insert 时报错: 单行子查询返回多行]
-- 错误的写法 insert into t_b_partner_vehicle(id, partner_id, vehicle_id) (seq_t_b_partner_vehicle.nextva ...
- [Oracle] Insert All神奇
无条件插入 Oracle中间insert all它指的是相同的数据组成不同的表.如果有需求现在:该t插入数据表t1,t2,假设你不知道insert all.您可以使用insert插入2次要,例如,见下 ...
- oracle insert into 插入多组数据方法总结
网上好多oracle 的文章,多是以oracle开头,内容确实其他sql,一幅气死人不偿命的嘴脸着实让人难受. 今天就更新点oracle 使用insert into插入数据的方式: 1.oracle ...
- [Oracle] Insert All的妙用
无条件的插入 Oracle中的insert all是指把同一批数据插入到不同的表中,假如如今有个需求:把t表中的数据分别插入t1,t2,假设你不知道insert all,你可能会使用insert插入2 ...
随机推荐
- Easyui扩展或者重载(方法和属性)
1: 使用$.fn.datagrid.defaults.editors重载默认值. 每个编辑器都有以下方法: 名称 属性 描述 init container, options 初始化编辑器并返回目标对 ...
- WindowsApi 解压缩文件
.解压方法 转载自http://www.2cto.com/kf/201204/128704.html "C#解压.zip文件,网上一搜一大堆方法,有使用System.IO.Compressi ...
- 【转】准确理解CSS clear:left/right的含义及实际用途
零.说点什么 好久没更新了.并不是在折腾什么大作,而是广度学习与实践中,加上婚礼等诸多大事,所以产出较少. 今天这篇也只是小作,博客是自己很好的学习工具,只要我学习不止,博客也会不断更新的. 我们平时 ...
- php 获取文件后缀名
$file_ext = strtolower(substr(strrchr($upload_file, '.'), 1)); strrchr:查找指定字符在字符串中的最后一次出现 string str ...
- mysql报错Table '.\erchina_news\v9_search' is marked as crashed and should be repaired
直切正题 报该问题的是表引导坏了,需要修复表就行 方法一: 找到mysql的安装目录的bin/myisamchk工具,在命令行中输入: myisamchk -c -r ../data/erchina_ ...
- 第十七章 调试及安全性(In .net4.5) 之 程序诊断
1. 概述 生产环境中的程序,也是不能保证没有问题的.为了能方便的找出问题,.net提供了一些特性来进行程序诊断. 这些特性包括:logging.tracing .程序性能分析(profiling) ...
- JLINK V8 Keil MDK4.10 STM32
新买的JLINK v8仿真器,第一次使用,编译环境是Keil MDK4.10,目前芯片是STM32F103x. 按照光盘的说明先安装了驱动,USB接上JLINK v8,显示驱动成功.但是在debug或 ...
- Python学习教程(learning Python)--1.2.2 Python格式化输出基础
本节讨论为何要格式化输出数据? 先看一段代码吧,本程序的功能是计算月支付金额. amount_due = 5000.0 #年支付金额 monthly_payment = amount_due / 12 ...
- rails中ActionController::InvalidAuthenticityToken解决办法
Ror代码 class FooController < ApplicationController protect_from_forgery :except => :index # you ...
- sftp
SFTP 为 SSH的一部分,是一种传输档案至 Blogger 伺服器的安全方式.其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文 ...