SQLLoader5(从多个数据文件导入到同一张表)

从多个数据文件导入到同一张表很简单,只需要在INFILE参数指定多个数据文件的路径即可。
数据文件1:test1.txt
1111 ALLE SALESMAN
2222 WARD SALESMAN
数据文件2:test2.txt
2222 JONE1 SMANAGER
3333 JONE2 SMANAGER
数据文件3:test3.txt
4444 JONE3 SMANAGER
5555 JONE4 SMANAGER

控制文件:testSqlLdr2.ctl

LOAD DATA
INFILE ‘D:\oracletest\test1.txt‘
INFILE ‘D:\oracletest\test2.txt‘
INFILE ‘D:\oracletest\test3.txt‘
REPLACE
INTO TABLE EMP2
FIELDS TERMINATED BY WHITESPACE
TRALING NULCOLS
(EMPNO,ENAME,JOB)

执行导入:

D:\oracletest>sqlldr scott/tiger@orcl control=D:\oracletest\testSqlLdr2.ctl

SQL*Loader: Release 11.2.0.1.0 - Production on 星期日 11月 30 20:39:28 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

达到提交点 - 逻辑记录计数 2
达到提交点 - 逻辑记录计数 3
达到提交点 - 逻辑记录计数 4
达到提交点 - 逻辑记录计数 5
达到提交点 - 逻辑记录计数 6

查看导入结果:

SQL> select * from emp2;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
3333 JONE2 SMANAGER
4444 JONE3 SMANAGER
5555 JONE4 SMANAGER
1111 ALLE SALESMAN
2222 WARD SALESMAN
2222 JONE1 SMANAGER

已选择6行。
时间: 2024-08-10 23:29:06

SQLLoader5(从多个数据文件导入到同一张表)的相关文章

Mysql之将一张表内容导入另一张表中

类别一. 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO 目标表 SELECT  * FROM 来源表 ; 例如,要将A 表插入到B 表中,则可以通过如下SQL语句实现: INSERT INTO A SELECT * FROM B ; 类别二. 如果只希望导入指定字段,可以用这种方法: INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ...FROM 来源表 ; 请注意以上两表的字段类型必须

SqlServer将表中数据复制到另一张表

insert into phone2(ph,attr,type,carrier) select top 1000 ph,attr,type,carrier from phone 将表phone的字段和前1000条数据复制到Phone2表 数据库中的某个表删除重复数据(phone2表不能存在) select distinct  * into phone2 from phone 表phone的数据放到phone2中(phone2表可以存在) insert into phone2(ph,attr,ty

将csv格式的数据文件导入/导出数据库+添加新的字段

最近一直忙于实验室的事情,没有好好更新博客,在抓包的过程中,遇到了很多问题. 因为我常用Wireshark将抓包信息导出为csv文件,这里简单mark一下将csv文件导入/导出到数据库的2种方法: 一.简单,但是稍慢的方法,使用Navicat for MySQL,傻瓜式导入数据库: 流程如下: 安装完成并配置好连接后界面如下: 新建数据库 进入导入向导 选择导入类型: 然后选择文件作为数据源,这里是我之前抓好的包,300w+条抓包记录 这里直接采取默认设置 同样默认 自己设置了下表明,新建了表

一次普通数据文件导入mysql遇到的问题

一.问题描述 数据文件 a.txt 导入mysql表中. 1.第一个问题 # mysqlimport -uabc -p'123' -h db1 -P 3306 DB a.txt ERROR 1045 (28000): Access denied for user 'root'@'db1' (using password: YES), when using table: 在排除密码和格式填写错误之后,查看mysql.user表 ,确认是否有File权限. 确认之后确实没有File权限.更新mysq

己亥清爽恢复系列之数据文件4篇:DROP表后如何恢复(非闪回技术)

己亥清爽系列说明:清爽系列是作为恢复系列的基础篇,基于FS(File System)文件系统的手工还原恢复,也叫基于用户管理的还原恢复,来自于博客园AskScuti. 实验说明:你不小心Drop掉了一张表数据,且没能及时反应过来,后面才恍然大悟,想利用闪回Drop技术进行闪回操作,可发现表空间被挤占,导致回收站里改表已被清空.如何进行手工不完全还原恢复操作.注:在数据文件.控制文件.在线日志和归档日志都完整的情况下. 基于版本:Oracle 11gR2 11.2.0.4 AskScuti 概念说

oracle 12c 多租户 pdb 恢复(单个pdb数据文件、非系统pdb表空间、整个pdb数据库)

环境:数据库版本 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 实验准备:1.-- 数据库归档模式SQL> select name,log_mode from v$database;NAME  LOG_MODE--------- ------------ANDYCDB   ARCHIVELOG   > 数据库归档模式 2.-- 登录 PDB 中创建实验表空间 与 用户[[email pr

错误ORA-01110,在已删除数据文件情况下如何删除表空间

如果先行删除了数据文件,再删除表空间,drop tablespace 会出现如下错误: ORA-01116: error in opening database file 89 ORA-01110: data file 89: '/templv/osm/OSM_TABP_00.dbf' ORA-27041: unable to open file Linux Error: 2: No such file or directory Additional information: 3 解决方案: 首

多表联合查询后去重复数据后重新插入第一张表解决办法

select goods_id,goods_type,goods_name,in_buy_price,ROUND(sum(in_total_price)/sum(in_amount),2),count(*) from in_warehouse_detail group by goods_id,goods_type,goods_name order by goods_id,goods_type,goods_name 查询结果如下: 另一张关联表[通过goods表的goods_Id和in_wareh

取得一张表的数据不在另一张表中的最优秀方法(JOIN与EXISTS的效率研究)

业务需求: 公司有个CRM经纪人管理系统,前天遇到的比较棘手的问题是,要查询一张表中不在另一张表中的所有用户并分页显示,但问题是外表的数据量很大,如果用not in(select ..),not exists(select ...)之类的子查询 的话需要对子查询表进行所有信息的调用过滤才行,一单子查询数据量过大效率问题就来了,于是就私下里查了一点资料,并根据资料中提供的例子建立了对应的测试表做了一些测试,随后将解决问题的方法移交给了技术部的邹鸿同事去解决问题,因为是前天的事情了,本来是事情忙没时