oracle 10g示例中如何通过sql loader将一个数据文件上载到多个表中
控制文件oracle 10g示例中如何通过sql loader将一个数据文件上载到多个表中,sql,oracle,sql-loader,Sql,Oracle,Sql Loader,控制文件 Create table emp (id varchar2(22), name varchar2(85),hire_date date,department_id varchar2(3)); create table emp_epfo as select id emp_id,name lname,hire_date,department_id dept_id from emp where 1=2; 可以使用SQLLDR使用单个控制文件将数据加载到多个表中。你需要记住的是 LOA
Create table emp (id varchar2(22), name varchar2(85),hire_date date,department_id varchar2(3));
create table emp_epfo as select id emp_id,name lname,hire_date,department_id dept_id from emp where 1=2;
可以使用
SQLLDR
使用单个控制文件将数据加载到多个表中。你需要记住的是
LOAD DATA
INFILE '/image/ExtTableData/OnlineClaims/member_master.csv'
TRUNCATE
INTO TABLE EMP
FIELDS TERMINATED BY ","
(ID ,NAME ,
HIRE_DATE ,DEPARTMENT_ID)
INTO TABLE EMP_EPFO
FIELDS TERMINATED BY ","
TRAILING NULLCOLS
(EMP_ID,LNAME,HIRE_DATE,DEPT_ID)
在单独表的列之后指定位置(1)
的原因是指示Oracle开始从第一行读取数据
引用Oracle文档:
不使用POSITION参数时,多个INTO TABLE子句
处理同一(分隔数据)输入记录的不同部分,
允许从一条记录加载多个表。当
使用POSITION参数,可以处理多个INTO TABLE子句
以不同的方式创建同一记录,允许使用多种格式
在一个输入文件中识别
LOAD DATA
INFILE '/image/ExtTableData/OnlineClaims/member_master.csv'
TRUNCATE
INTO TABLE EMP
FIELDS TERMINATED BY ","
TRAILING NULLCOLS
(ID POSITION(1),
NAME,
HIRE_DATE,
DEPARTMENT_ID
)
INTO TABLE EMP_EPFO
(EMP_ID POSITION(1),
LNAME,
HIRE_DATE,
DEPT_ID
)