Oracle批量插入数据insert all into用法

Oracle实现往某表批量插入记录 Oracle如何实现往某表批量插入记录? 阅读详情

项目需要用到导入excel表,并解析数据批量插入到oracle数据库中。

1)直接解析excel,循环行,拼了sql,executeUpdate。
执行一波…
咦,这效率很低啊,有多少行数据就执行了多少句sql,基本是一万行已经接近一分钟了。
2)每次都仅执行一条sql语句,时间是不是都花在建立连接放开连接balabala的过程上了,用executebatch批量执行sql语句试试。
没有任何明显的改善。
3)那改成一条insert语句效果怎么样呢?
这里写图片描述在这里插入图片描述
这回效果看起来很明显了,问题看起来要解决了,确实,按这样改到程序里,执行上传excel,解析插入一万行数据到数据库,总共也就差不多一秒钟,能接受了。

4)但是我还想兼容Oracle,刚才是拿MySql做的实验,Oracle竟然不能这么写:

insert into testimport(username,password,address,telphone,email)
values
('testname','jfksdfkdsfjksadljfkdsfjsdlafjdaslkfjasfd','山东省济南市历城区港兴一路','19876767856','fdsfdsfads@163.com'),
('testname','jfksdfkdsfjksadljfkdsfjsdlafjdaslkfjasfd','山东省济南市历城区港兴一路','19876767856','fdsfdsfads@164.com'),
('testname','jfksdfkdsfjksadljfkdsfjsdlafjdaslkfjasfd','山东省济南市历城区港兴一路','19876767856','fdsfdsfads@165.com')

那我们在Oracle中,怎么通过一个insert语句批量插入数据呢?

INSERT ALL 
INTO A(field_1,field_2) VALUES (value_1,value_2) 
INTO A(field_1,field_2) VALUES (value_3,value_4) 
INTO A(field_1,field_2) VALUES (value_5,value_6)
SELECT 1 FROM DUAL;
ORACLE 大批量插入数据 这种也是采用DML并发,适用于执行DML语句慢的应用场景。说明:这种方式只能按照串行的方式进行,如果有多个任务在同时进行,会导致进程等待,反而会影响传输的效率。但是源表的数据量是1亿的数据量,按照最普遍的方式 INSERT INTO 效率太低了。这种是采用INSERT 并发,适用于 查询快,插入慢的场景。注: 这种模式其实跟第三种差不多,只不过这种是会话级别的。这种采用DML并发,适用于执行DML语句慢的应用场景。这种采用查询并发,适用于插入快,查询慢的应用场景。3.插入和查询PARALLEL。 阅读详情

相关推荐

Pytorch的一小步,昇腾芯片的一大步

相信在AI圈的人多多少少都看到了最近的信息:PyTorch最新2.1版本宣布支持华为昇腾芯片!

机器学习-深度学习-图像处理-opencv-段子 5242

Oracle sql 批量插入 Insert all into

描述 Oracle INSERT ALL 语句用来用一个 INSERT 语句添加多行。该行可以只使用一个SQL命令插入到一个表或多个表。 语法 Oracle INSERT ALL 语法如下: INSERT ALL INTO mytable (column1, column2, column_n) VALUES (expr1, expr2, expr_n) INTO mytable (column1, column2, column_n) VALUES (expr1, expr2, expr

此人很懒,什么也没有留下~ 6349

nRF52840开发环境搭建:从零开始配置Keil与SDK

本文详细介绍了nRF52840开发环境搭建的全过程,包括硬件准备、Keil MDK与nRF5 SDK的安装配置、常见问题解决方案及蓝牙功能开发进阶。特别强调了J-Link调试器的使用和SDK版本匹配的重要性,帮助开发者快速上手nRF52840开发。

weixin_29176179的博客 885

Oracle 批量插入数据 insert all into/insert into...select

insert into ... select .... insert all into

Xiang想 2万+

【HDL系列】除法器(3)——基2 SRT算法

目录 一、除法表示 二、数字递归算法基础公式 三、QDS(Quotient Digit Selection)函数 四、基2 SRT算法 一、除法表示 除法被定义如下: 其中,x是被除数,d是除数,q是商,rem是余数。 商的精度由ulp(unit of last position)来决定: 如果ulp=1, 商q则是整数; 如果ulp=r^(-n),n是商数个数,r是所有输入操作数的基,此时商为小数。 二、数字递归算法基础公式 在使用数字递归算法(Digit Re...

纸上谈芯的专栏 8155

薄膜电容寿命预测全解析:从理论到实践,5步搞定可靠性评估

本文全面解析薄膜电容寿命预测的理论与实践,提供五步可靠性评估流程,涵盖温度应力、电压应力等关键因素分析,并分享提升寿命的实用技巧。特别适用于新能源、电动汽车等领域的设计工程师,帮助准确预测薄膜电容在实际工况下的使用寿命。

weixin_33712987的博客 433

Oracle批量插入,INSERT ALL INTO用法

mysql中的插入 INSERT INTO stock (weight, BatchNo) VALUES ('1', '2'), ('3', '4') oracle中不支持mysql中的这种,会报错 ORA-00933: SQL command not properly ended 原因:SQL命令没有正确结束 INSERT ALL INTO USER (ID,CREATE...

伟大是熬出来的 9231

400G光模块测试全攻略:从PCS层到CMIS合规的避坑指南

本文为网络设备测试工程师和光通信研发人员提供了一份详尽的400G光模块测试实战指南。文章深入剖析了从PCS层信号完整性、FEC容限到CMIS管理接口合规性测试的全流程,并分享了ANLT协议分析、SerDes眼图调试以及系统级流量压力测试中的核心技巧与常见避坑点,旨在帮助读者构建一套高效、精准的测试体系,确保高速光模块的可靠性与性能。

weixin_29300931的博客 213

Oracle 批量插入数据 insert all into 用法

项目需要用到导入excel表,并解析数据批量插入到oracle数据库中。 1)直接解析excel,循环行,拼了sql,executeUpdate。 执行一波… 咦,这效率很低啊,有多少行数据就执行了多少句sql,基本是一万行已经接近一分钟了。 2)每次都仅执行一条sql语句,时间是不是都花在建立连接放开连接balabala的过程上了,用executebatch批量执行sql语句试试。 没...

AlbenXie的博客 6240

YOLOv8改进 | 主干网络 | 增加网络结构增强小目标检测能力【独家创新——附结构图】

YOLOv8改进,小目标检测,yolov8

kay_545 6021

180.在 Vue3 中使用 OpenLayers 实现多个多边形的绘制、编辑、删除与清空

【摘要】本文介绍如何在Vue3+TypeScript环境下使用OpenLayers实现多边形地图交互功能。通过Composition API封装核心逻辑,实现了多边形绘制、编辑、删除及清空等操作。关键技术包括:使用VectorLayer管理图形数据,Draw/Modify/Select交互控制,以及通过ref()管理交互状态。文中提供了完整代码示例,并解决了交互对象叠加问题,为开发GIS应用提供了基础模块。该方案支持扩展为数据库存储、后端交互等高级功能。

小彭的博客 770

Oracle 批量插入(insert all into)

项目需要用到导入excel表,并解析数据批量插入到oracle数据库中。 1)直接解析excel,循环行,拼了sql,executeUpdate。 执行一波… 咦,这效率很低啊,有多少行数据就执行了多少句sql,基本是一万行已经接近一分钟了。 2)每次都仅执行一条sql语句,时间是不是都花在建立连接放开连接balabala的过程上了,用executebatch批量执行sql语句试试。 没...

WWF_HelloWorld 11万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Oracle insert all 详解

文章目录1 概述2 insert 的两种形式2.1 insert first2.2 insert all3 数据一致性(同时插入)2.1 验证:insert into 数据不一致2.2 验证:insert all 数据一致 1 概述 1. 作用:'正确、高效' 的将 '同一批数据' 插入至 '不同的表' 中 2. 好处 (1) '正确':避免数据差异 (2) '高效':优于写多个 insert into(因为无论插入多少张表,'主表' 只会被读取一次) 3. 场景,若需求:将表 t 中

鱼丸丶粗面 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Oracle 中 insert 同时插入多条数据

Oracle 中 insert 同时插入多条数据1. 语句2. Mybatis 1. 语句 Oracle 与 Mysql 不同. 多条插入命令不一样. INSERT ALL INTO t_table ("col1", "col2", "col3") VALUES ('val1', 'val2', 'val3') INTO t_table ("col1", "col2", "col3") VALUES ('val1', 'val2', 'val3') INTO t_table ("col1", "col

YKenan的博客 8001

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

oracle insert into values 批量插入

oracle insert into values 批量插入

just_learing的博客 2万+

oracle insert into select 大数据量_Oracle的批量插入操作

MySQL中支持一条SQL语句执行批量插入,Oracle中支持的形式有些不同,但是殊途同归,用的就是insert all into语法。创建测试表,SQL>createtablea1(idnumber,avarchar2(1),bvarchar2(1),cvarchar2(1),dvarchar2(1));Table created.可以用如下语句,执行批量...

weixin_39842955的博客 5436

oracle一次插入多条数据(insert all)

问题: 公司的项目,有个功能每次使用需要向数据库插入很多数据,导致页面等待很长时间才有结果。 数据库:oracle11g id:采用sequence自增 每次循环,都会查询一次sequence,然后insert一条数据,性能非常低。 采用insert all的方式 由于insert all方式插入多条时,通过sequence获取的值是同一个,不会自动获取多个,所以id需要通过其他方式设置,(我这里采用触发器方式自动设置id) 1、创建测试表: create table test_insert(

冰蛙 9440

oracle insert into insert,总结下Oracle 中的Insert用法

1.标准Insert --单表单行插入语法:INSERT INTO table [(column1,column2,...)] VALUE (value1,value2,...)例子:insert into dep (dep_id,dep_name) values(1,'技术部');备注:使用标准语法只能插入一条数据,且只能在一张表中插入数据2, 无条件 Insert all --多表多行插入语法...

weixin_39575648的博客 4846

Oracle的批量插入操作

MySQL中支持一条SQL语句执行批量插入,Oracle中支持的形式有些不同,但是殊途同归,用的就是insert all into语法。创建测试表,SQL>createtabl...

bisal的专栏 4906

oracle insert into values 多条记录

稍微熟悉oracle的都知道,如果我们想一条SQL语句向表中插入多个值的话,如果INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....;这样会报错的,因为oracle是不支持这种写法的,如果多个INSERT INTO VALUEES(各个值);这样以“;”隔开一同执行也是不行的,oracle也是不支持的。        不过MySQL这两种方式都是支持的。

XingXingDeZhuYuan的博客 1万+

ORACLE 批量插入(Insert)详解

Oracle批量插入语句与其他数据库不同,下面列出不同业务需求的插入 假设有一张表Student -- 学生表 create table Student( id Varchar2(11) primary key, name varchar2(32) not null, sex varchar2(3) not null, age smallint, tel varch...

灵活大胖子HDG 的博客 4964

oracle的insert all 用法

今天用到oracle的批量插入, 记录一下用法。 一、在mysql中的写法是这样的 insert into my_table(field_1,field_2) values (value_1,value_2), (value_1,value_2), (value_1,value_2); 二、在oracle中是这样写的 INSERT ALL INTO my_table(field_1,field_2) VALUES (value_1,value_2) INTO my_table.

vvv_110的博客 989

Mybatis批量插入Oracle

本文简单总结了在MyBatis中往Oracle批量插入数据的方法,作一个快速笔记。

z69183787的专栏 7500

Oracle批量插入数据

一条SQL语句批量插入数据到数据库:(1)INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....;(2)多个INSERT INTO VALUEES(各个值);以“;”隔开一同执行以上两种方法Oracle和SQL Server都不支持,MySQL支持        对于Oracle数据库,可以使用以下方法:(1)INSERT ALL INTO  表(字段) VALU...

飞龙在天 1万+

Mybatis中批量插入insert

Mybatis中欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markd

wjs970410888的博客 1万+
上一篇: oracle update left join查询
下一篇: ORACLE的HINT详解
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值