oracle insertinto语句(Oracle中如何用一条insert into 语句插入多条数据 如: insert into 表 values(多条数据))

2026-08-28 00:15:01 :0

oracle insertinto语句(Oracle中如何用一条insert into 语句插入多条数据 如: insert into 表 values(多条数据))

其实oracle insertinto语句的问题并不复杂,但是又很多的朋友都不太了解Oracle中如何用一条insert into 语句插入多条数据 如: insert into 表 values(多条数据),因此呢,今天小编就来为大家分享oracle insertinto语句的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

Oracle中如何用一条insert into 语句插入多条数据 如: insert into 表 values(多条数据)

insert into tablea select xx from tableb
select xx from tableb返回的记录为几条就插入几条

Oracle中插入数据

前提:在做insert数据之前,如果是非生产环境,请将表的索引和约束去掉,待insert完成后再建索引和约束。

insert into tab1 select * from tab2; commit;

这是最基础的insert语句,我们把tab2表中的数据insert到tab1表中。根据经验,千万级的数据可在1小时内完成。但是该方法产生的arch会非常快,需要关注归档的产生量,及时启动备份软件,避免arch目录撑爆。

alter table tab1 nologging; 

insert /*+ append */ into tab1 select * from tab2; 

commit; alter table tab1 logging;

该方法会使得产生arch大大减少,并且在一定程度上提高时间,根据经验,千万级的数据可在45分钟内完成。但是请注意,该方法适合单进程的串行方式,如果当有多个进程同时运行时,后发起的进程会有enqueue的等待。注意此方法千万不能dataguard上用,不过要是在database已经force logging那也是没有问题的。

insert into tab1 select /*+ parallel */ * from tab2; commit;

对于select之后的语句是全表扫描的情况,我们可以加parallel的hint来提高其并发,这里需要注意的是最大并发度受到初始化参数parallel_max_servers的限制,并发的进程可以通过v$px_session查看,或者ps -ef |grep ora_p查看。

alter session enable parallel dml; 

insert /*+ parallel */ into tab1 select * from tab2; commit;

其他方法:

并发的insert,尚未比较和方法2哪个效率更高(偶估计是方法2快),有测试过的朋友欢迎补充。

insert into tab1 select * from tab2 partition (p1); 

insert into tab1 select * from tab2 partition (p2); 

insert into tab1 select * from tab2 partition (p3); 

insert into tab1 select * from tab2 partition (p4);

对于分区表可以利用tab1进行多个进程的并发insert,分区越多,可以启动的进程越多。我曾经试过insert 2.6亿行记录的一个表,8个分区,8个进程,如果用方法2,单个进程完成可能要40分钟,但是由于是有8个分区8个进程,后发进程有enqueue,所以因此需要的时间为40分钟×8;但是如果用方法5,虽然单个进程需要110分钟,但是由于能够并发进程执行,所以总共需要的时间就约为110分钟了。

DECLARE TYPE dtarray IS TABLE OF VARCHAR2(20) 

INDEX BY BINARY_INTEGER; 

v_col1 dtarray; v_col2 dtarray; v_col3 dtarray; 

BEGIN SELECT col1, col2, col3 BULK COLLECT INTO v_col1, v_col2, v_col3 

FROM tab2; 

FORALL i IN 1 .. v_col1.COUNT insert into tab1 

WHERE tab1.col1 = v_col1; 

END;

用批量绑定(bulk binding)的方式。当循环执行一个绑定变量的sql语句时候,在PL/SQL 和SQL引擎(engines)中,会发生大量的上下文切换(context switches)。使用bulk binding,能将数据批量的从plsql引擎传到sql引擎,从而减少上下文切换过程,提升效率。该方法比较适合于在线处理,不必停机。

sqlplus -s user/pwd《 runlog.txt set copycommit 2; 

set arraysize 5000; 

copy from user/pwd@sid - to user/pwd@sid - insert tab1 using 

select * from tab2; exit EOF

用copy的方法进行插入,注意此处insert没有into关键字。该方法的好处是可以设置copycommit和arrarysize来一起控制commit的频率,上面的方法是每10000行commit一次。

Oracle删除以及插入语句

你的目的无非是先将数据插入到B表中,然后再在A表中删除。至于你点击JSP页面实现删除功能,那是你的服务器做的事。你肯定是点击删除时,通过服务器查找到那条记录。所以我们现在就说说你的数据库的事情。
插入时,insert into B(xx,xx,xx) values(xx,xx,xx);
然后删除A表数据,delete from A where xx=xx and xx=xx and xx=xx,其中前面的XX代表的是表中的字段名称,后面的XX代表的是数据库中的数据值。
以上是我的解答,如果还有什么不懂的话,可以再探讨。

以上就是我们为大家找到的有关“oracle insertinto语句(Oracle中如何用一条insert into 语句插入多条数据 如: insert into 表 values(多条数据))”的所有内容了,希望可以帮助到你。如果对我们网站的其他内容感兴趣请持续关注本站。

oracle insertinto语句(Oracle中如何用一条insert into 语句插入多条数据 如: insert into 表 values(多条数据))

本文编辑:admin

更多文章:


slze表示什么意思(slze是什么品牌)

slze表示什么意思(slze是什么品牌)

各位老铁们,大家好,今天由我来为大家分享slze表示什么意思,以及slze是什么品牌的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录slze是什么品

2025年11月9日 02:30

计算机网络协议指的是tcp ip协议(TCP/IP协议是什么)

计算机网络协议指的是tcp ip协议(TCP/IP协议是什么)

大家好,关于计算机网络协议指的是tcp ip协议很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于TCP/IP协议是什么的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所

2025年10月21日 07:15

oracle数据库备份文件后缀(ORACLE 数据库导出的数据文件 什么后缀)

oracle数据库备份文件后缀(ORACLE 数据库导出的数据文件 什么后缀)

大家好,oracle数据库备份文件后缀相信很多的网友都不是很明白,包括ORACLE 数据库导出的数据文件 什么后缀也是一样,不过没有关系,接下来就来为大家分享关于oracle数据库备份文件后缀和ORACLE 数据库导出的数据文件 什么后缀的

2026年4月7日 10:45

imgur怎么存图(苹果手机的实况图上传哪里可以不变)

imgur怎么存图(苹果手机的实况图上传哪里可以不变)

大家好,关于imgur怎么存图很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于苹果手机的实况图上传哪里可以不变的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本

2025年9月17日 02:45

C语言中换行符和回车符的区别?C语言中怎么实现自动换行

C语言中换行符和回车符的区别?C语言中怎么实现自动换行

大家好,关于c语言换行很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于C语言中换行符和回车符的区别的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录C语言

2025年9月23日 17:30

js插件安装(如何在zendstudio中安装js插件)

js插件安装(如何在zendstudio中安装js插件)

“js插件安装”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看js插件安装(如何在zendstudio中安装js插件)!本文目录如何在zendstudio中安装js插件怎么在eclipse中安装js插件怎么安装jseclip

2025年6月11日 03:45

新加坡marina square风景(新加坡Marina Bay Sands空中花园设计欣赏)

新加坡marina square风景(新加坡Marina Bay Sands空中花园设计欣赏)

“新加坡marina square风景”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看新加坡marina square风景(新加坡Marina Bay Sands空中花园设计欣赏)!本文目录新加坡Marina Bay San

2026年4月3日 10:45

datagridview设置表头(Datagridview表头样式设置)

datagridview设置表头(Datagridview表头样式设置)

大家好,今天小编来为大家解答以下的问题,关于datagridview设置表头,Datagridview表头样式设置这个很多人还不知道,现在让我们一起来看看吧!本文目录Datagridview表头样式设置datagridview控件怎么重写单

2026年9月3日 13:45

易语言下载文件到内存(如何让易语言 下载文件)

易语言下载文件到内存(如何让易语言 下载文件)

大家好,今天小编来为大家解答以下的问题,关于易语言下载文件到内存,如何让易语言 下载文件这个很多人还不知道,现在让我们一起来看看吧!本文目录如何让易语言 下载文件易语言如何下载文件如何让易语言 下载文件.版本 2.支持库 internet.

2026年4月27日 03:00

企业域名和个人域名有什么区别?公司域名是什么意思

企业域名和个人域名有什么区别?公司域名是什么意思

大家好,企业域名相信很多的网友都不是很明白,包括企业域名和个人域名有什么区别也是一样,不过没有关系,接下来就来为大家分享关于企业域名和企业域名和个人域名有什么区别的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录企

2026年9月11日 12:00

mysql workbench查看表结构(在使用mysqlworkbench6.3怎么查看mysql数据库的关系图)

mysql workbench查看表结构(在使用mysqlworkbench6.3怎么查看mysql数据库的关系图)

各位老铁们,大家好,今天由我来为大家分享mysql workbench查看表结构,以及在使用mysqlworkbench6.3怎么查看mysql数据库的关系图的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支

2025年7月31日 04:30

curl访问地址(php curl访问本地测试地址 链接超时,什么原因.公网可以)

curl访问地址(php curl访问本地测试地址 链接超时,什么原因.公网可以)

“curl访问地址”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看curl访问地址(php curl访问本地测试地址 链接超时,什么原因.公网可以)!本文目录php curl访问本地测试地址 链接超时,什么原因.公网可以哪位

2026年2月15日 19:15

英语中的key复数?怎么查看apk的签名 keystore

英语中的key复数?怎么查看apk的签名 keystore

本篇文章给大家谈谈keys,以及英语中的key复数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录英语中的key复数怎么查看apk的签名 keystorepress arrow keys or a and d keys to

2025年8月1日 19:30

object后面接什么(高中英语 object 意思为“拒绝“时的用法 后面跟什么)

object后面接什么(高中英语 object 意思为“拒绝“时的用法 后面跟什么)

大家好,今天小编来为大家解答以下的问题,关于object后面接什么,高中英语 object 意思为“拒绝“时的用法 后面跟什么这个很多人还不知道,现在让我们一起来看看吧!本文目录高中英语 object 意思为“拒绝“时的用法 后面跟什么ob

2026年6月30日 19:00

win10系统java环境变量设置(win10怎么配置java环境变量path)

win10系统java环境变量设置(win10怎么配置java环境变量path)

各位老铁们,大家好,今天由我来为大家分享win10系统java环境变量设置,以及win10怎么配置java环境变量path的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下

2025年6月16日 13:45

r语言实验敲代码基础(怎么样学习R语言)

r语言实验敲代码基础(怎么样学习R语言)

大家好,如果您还对r语言实验敲代码基础不太了解,没有关系,今天就由本站为大家分享r语言实验敲代码基础的知识,包括怎么样学习R语言的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录怎么样学习R语言R语言中 敲代码时右上

2026年4月5日 16:00

达内教育慕课网(软件测试学习网站那个好谢谢各位!)

达内教育慕课网(软件测试学习网站那个好谢谢各位!)

本篇文章给大家谈谈达内教育慕课网,以及软件测试学习网站那个好谢谢各位!对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录软件测试学习网站那个好

2026年4月29日 02:45

维控plc编程软件(亿维120plc用什么编程软件)

维控plc编程软件(亿维120plc用什么编程软件)

这篇文章给大家聊聊关于维控plc编程软件,以及亿维120plc用什么编程软件对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录亿维120plc用什么编程软件400plc如何修改传输速率维控PLC编程软件如何添加指令亿维120pl

2026年1月23日 17:00

jquerytrigger参数(怎么给jquery方法传值 就是点击第2个button后执行第一个button的方式 怎么给s传值)

jquerytrigger参数(怎么给jquery方法传值 就是点击第2个button后执行第一个button的方式 怎么给s传值)

其实jquerytrigger参数的问题并不复杂,但是又很多的朋友都不太了解怎么给jquery方法传值 就是点击第2个button后执行第一个button的方式 怎么给s传值,因此呢,今天小编就来为大家分享jquerytrigger参数的一

2025年11月5日 00:15

selective tool教程(selective tool能卸载吗)

selective tool教程(selective tool能卸载吗)

大家好,关于selective tool教程很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于selective tool能卸载吗的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望

2025年5月30日 06:30

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索