如何在oracle数据库中的表里批量插入记录
如何在oracle数据库中的表里批量插入记录,数据源是sql数据库,在做数据迁移的时候,从sql到oracle里,其中有一个表里的记录数与原sql里面的这个表的记录数不同...
如何在oracle数据库中的表里批量插入记录,数据源是sql数据库,在做数据迁移的时候,从sql到oracle里,其中有一个表里的记录数与原sql里面的这个表的记录数不同,于是我想把未迁移的数据库补到oracle里面,想请教一下有没有比较好的办法,谢谢!
展开
4个回答
2013-08-23
展开全部
方法1。用sql server的“导入和导出数据”,我做项目的使用搞数据迁移就是用那玩意,配两个数据源(Oracle、SQLServer各一),然后根据表也行、跟住SQL语句也行
方法2。SQL查询分析器打开,查询出来结果复制,用PLSQL打开oralce的表,粘贴进去
方法2。SQL查询分析器打开,查询出来结果复制,用PLSQL打开oralce的表,粘贴进去
展开全部
可以使用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
生成测试数据的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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-23
展开全部
oracle中新建一张表,作为临时表,然后把sql数据库的数据全部导入到这张表中然后insert into 目标表select * from 临时表where 临时表.主键 not in(select 目标表.主键 from 目标表)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是对其它数据表中进行插入,可利用语句insert into A(字段名) select 相应的字段名 from B;commit;
如果是从其它文档进行批量插入,可把文档导入都oracle的临时表,可通过复制黏贴的方法,把相应字段的数据复制到临时表中,再进行1中操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询