在Oracle中批量导入
我创建了表emp,我需要将文件中的批量数据导入到emp
中对于Ex
CREATE TABLE emp
( c1 NUMBER,
c2 VARCHAR2(30)
)
档案路径:
'C:\Documents and Settings\TestUser\My Documents\LearnOracle\reports.csv'
答案 0 :(得分:1)
写一个控制文件,比如emp.ctl
load data
options(direct=true)
insert
into table emp
fields terminated by ',' optionally enclosed by '"' TRAILING NULLCOLS
(
c1 DECIMAL EXTERNAL,
c2
)
执行SQL*Loader,如下所示。
sqlldr userid=user/pass@db data=reports.csv control=emp.ctl
如果您始终想要使用您的数据完全刷新表格。 TRUNCATE
表然后加载。
SQL*Loader
是一个很棒的实用工具,提供了许多性能选项。请仔细阅读有关DIRECT and CONVENTIONAL loading的文档。
有一种叫做EXTERNAL tables的东西,你也可能会感兴趣。他们使用平面文件作为表格数据。
答案 1 :(得分:1)
您必须使用内置工具sql * loader将外部平面文件中的数据加载到oracle中 1.创建一个控制文件control.ctl
load data
infile 'reports.csv'
into table emp
fields terminated by ',' optionally
enclosed by '"'
c1,c2
2。数据文件是您的reports.csv
3.invoke sql * loader:
$ sqlldr scott / tiger control = control.ctl
注意:这是您创建的控制文件的名称