【发布时间】:2020-02-05 23:15:19
【问题描述】:
我想使用 SQLLDR 加载以下 2 个表。 2个表的表结构如下:
CREATE TABLE Customer
(ID varchar2(50), --PK
org_cd varchar2(50), --PK
NAME VARCHAR2 (255),
Address1 VARCHAR2(1000),
DOB TIMESTAMP(3),
cust_ref_col number ---used for all the future references to this record since this is a number. This is unique key.
);
CREATE TABLE Customer_contact
(ID varchar2(50), --PK
org_cd varchar2(50), --PK
Contact_id Number, --PK --Running serial # for a given Customer
contact_name varchar2(50),
cust_ref_col number ---foreign key from Customer table
);
这是数据文件customer.dat(最后一列的值1是虚拟的,因为我想生成Oracle Sequence(partnersequence) Number
PTNR_78814824,ACCT,Tom,123 Church Road, 12-dec-99,1,Ralph,1
PTNR_78814825,FIN,Tom,124 Main Road, 12-dec-99,2,Jody,1
PTNR_78814826,ENGG,Tom,125 Station Road, 12-dec-99,3,Mardy,1
我的控制文件是这样的
LOAD DATA
INFILE test.dat
INTO TABLE Customer
APPEND
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
(ID ,
org_cd ,
name ,
Address1 ,
DOB ,
cust_ref_col "partnersequence.nextval"
)
INTO TABLE Customer_contact
APPEND
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
(ID ,
org_cd ,
Fill1 Filler,
Fill2 Filler,
Fill3 Filler,
Fill4 Filler,
cust_ref_col "partnersequence.nextval"
)
这里的问题是 Customer_contact 表中的 cust_ref_col 正在获取新序列#。我想使用为 客户表。你能帮忙吗?
【问题讨论】:
-
提前感谢帮助...
标签: sql-loader