如何在oracle数据库中的表里批量插入记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在oracle数据库中的表里批量插入记录相关的知识,希望对你有一定的参考价值。
参考技术A 1.如果是对其它数据表中进行插入,可利用语句insert
into
A(字段名)
select
相应的字段名
from
B;commit;
2.
如果是从其它文档进行批量插入,可把文档导入都oracle的临时表,可通过复制黏贴的方法,把相应字段的数据复制到临时表中,再进行1中操作 参考技术B 方法1。用sql
server的“导入和导出数据”,我做项目的使用搞数据迁移就是用那玩意,配两个数据源(Oracle、SQLServer各一),然后根据表也行、跟住SQL语句也行
方法2。SQL查询分析器打开,查询出来结果复制,用PLSQL打开oralce的表,粘贴进去 参考技术C 可以使用oracle
sql
loader批量导入数据:
生成测试数据的EXCEL文件,把EXCEL文件另存为CSV(逗号分隔)(*.csv),控制文件设置为用逗号分隔。
示例:
LOAD
DATA
INFILE
‘d:\car.csv’
APPEND
INTO
TABLE
t_car_temp
FIELDS
TERMINATED
BY
","
(phoneno,vip_car)
保存为input.ctl
最后在命令行下输入:
C:\>sqlldr
userid=system/manager
control=input.ctl(在unix环境下亦同)
默认日志文件名为:input.log
默认坏记录文件为:input.bad 参考技术D oracle中新建一张表,作为临时表,然后把sql数据库的数据全部导入到这张表中然后insert
into
目标表select
*
from
临时表where
临时表.主键
not
in(select
目标表.主键
from
目标表)
如何向一个oracle表中快速插入很多条数据
Oracle数据的批量插入前两天接到一个需求——需要编程将SQL Server中的数据插入至Oracle。数据大约有20多万条记录。开始的时候我采取了直接构建SQL插入的方式,结果耗时太长。为了提高性能我上网找了资料。最终采用DataAdapter批量插入至Oracle,提高了性能。
代码如下:
一,直接构建SQL语句插入
VB.NET Code
二,采用DataAdapter实现批量插入
VB.NET Code
在我的环境中批量插入24万笔记录用时大约260s左右。
貌似SQL Server中.net驱动程序提供了SqlBulkCopy类来提高大量数据导入的性能。有需要的朋友可以查下MSDN。 参考技术A 可以同时把很多条不同的数据插入到oracle表中
以上是关于如何在oracle数据库中的表里批量插入记录的主要内容,如果未能解决你的问题,请参考以下文章
ORA-01008 错误 - 使用 OleDb 将记录插入 Oracle DB
Mybatis 批量插入带oracle序列例子+ORA-02287: 此处不允许序号
如何从 Oracle 中的 JDBC 批量插入中获取生成的密钥?