oracle数据库,批量插入数据脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库,批量插入数据脚本相关的知识,希望对你有一定的参考价值。

参考技术A

批量插入数据脚本
1、第一种批量插入数据脚本,可以基本满足要求。理解上较为简单,所以这个最常用。

NEXTVAL和CURRVAL的区别:
1、如果 sequence.CURRVAL 和 sequence.NEXTVAL 都出现在一个 SQL 语句中,则序列只增加一次。在这种情况下,每个 sequence.CURRVAL 和 sequence.NEXTVAL 表达式都返回相同的值,不管在语句中sequence.CURRVAL 和 sequence.NEXTVAL 的顺序。

执行脚本结果如下:

3、两个表,同时批量插入数据的脚本

3、
4、 涉及子表时,批量插入数据脚本,

5、 批量修改数据

时间取数方式:
一、SYSTIMESTAMP(取当前系统值)
二、SYSDATE(取当前系统值,但只精确到时,分和秒都为0)
三、固定值为:TO_TIMESTAMP (\'2019-2-12 15:24:45.703000\', \'yyyy-mm-dd hh24:mi:ss.ff6\')

把固定的字段改为变量:
方式一:’||i||’ 例:’“no”:“111’||i||’”’(此方式)
方式二:concat 例:concat(concat(’“blNo”:111"’,i),’"’)

Oracle批量插入数据

Oracle批量插入数据

学习了:http://blog.csdn.net/chenleixing/article/details/45165761/

膜拜一下,引用原文:

那么有没有其他方法呢??答案是有的,也许熟悉oracle数据库的可能知道从oracle9i版本以后,可以使用一种方法即:"INSERT ALL INTO  a表 VALUES(各个值)  INTO a表 VALUES (其它值) INTO a表 VALUES(其它值) ....再跟一个SELECT 语句"。后边跟的SELECT 语句我们可以从虚拟表里查如 SELECT 1 FROM DUAL。注意后边跟的SELECT语句可以随意,不过不是把它SELECT出来的内容插入前边的表里,而是起到前边的多个数据每次插入多少行的作用,这个多少行是和后边跟的SELECT语句查出来几条而定的,如后边的跟的SELECT 语句查出了15条记录,那么前边的"INSERT ALL INTO  a表 VALUES(各个值1)  INTO a表 VALUES (其它值2) INTO a表 VALUES(其它值3)"就会先插入值1对应的各个字段插入15条记录,然后插入值2各个对应的字段15条记录,然后插入值3对应的各个字段15条记录。
       我们要的是批量插入多个VALUES这样的一条记录,所以后边的SELECT 语句只要能查出一条记录就行,建议大家后边用SELECT 1 FROM DUAL。

后期补充一下测试例子:

 

以上是关于oracle数据库,批量插入数据脚本的主要内容,如果未能解决你的问题,请参考以下文章

将数据批量插入 Oracle 数据库的最佳方法

如何在oracle数据库中的表里批量插入记录

Oracle数据的批量插入

oracle批量增加数据

Oracle 批量插入数据怎么做

Oracle 批量插入数据怎么做