如何从我的文本文件创建一个外部表并使用它来更新到真实表,而不是创建一个(普通)临时表并使用 SQL*Loader。
样本.ctl
load data
infile 'data.txt'
append into table newtable
fields terminated by '|'
TRAILING NULLCOLS
(ACCOUNTNBR)
数据.txt
一些原始数据..
54545554
54542145
65656566
58787788
如何从我的文本文件创建一个外部表并使用它来更新到真实表,而不是创建一个(普通)临时表并使用 SQL*Loader。
样本.ctl
load data
infile 'data.txt'
append into table newtable
fields terminated by '|'
TRAILING NULLCOLS
(ACCOUNTNBR)
数据.txt
一些原始数据..
54545554
54542145
65656566
58787788
使用上述数据创建的文件 info.dat。
设置一个默认目录(包含数据源)并授予对它的访问权限(需要 CREATE ANY DIRECTORY 权限):
创建目录 ext_tab_dir AS '/usr/apps/datafiles';
GRANT READ ON DIRECTORY ext_tab_dir TO SCHEMA_OWNER;
创建一个名为 newtable_load 的外部表:
CREATE TABLE newtable_load
(ACCOUNTNBR NUMBER
)
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY default_directory
ACCESS PARAMETERS
(RECORDS DELIMITED BY NEWLINE
FIELDS (ACCOUNTNBR NUMBER)
)
LOCATION ('info.dat')
);
将外部表 newtable_load 中的数据加载到表 newtable 中:
INSERT INTO newtable (ACCOUNTNBR) (SELECT ACCOUNTNBR FROM newtable_load);