我对sqloader有一个奇怪的问题。在我的数据库中,我创建了一个这样的序列:
CREATE SEQUENCE TEST_ID_SEQ
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 20;
我的控制文件看起来像这样:
load data
INFILE 'C:\Users\\test.csv'
into table TABLE_NAME
append
fields terminated by ','
OPTIONALLY ENCLOSED BY '"' AND '"'
trailing nullcols
(
TEST_COLUMN_ID "TEST_ID_SEQ.NEXTVAL",
INSERT_DATE EXPRESSION "current_timestamp(3)",
COLUMN_1 CHAR(4000),
COLUMN_2 CHAR(4000),
......
)
因此,在导入过程中,我只想在列中插入生成的数字" TEST_COLUMN_ID"。
现在的问题是,如果我在控制文件中写下这一行:
TEST_COLUMN_ID "TEST_ID_SEQ.NEXTVAL",
然后,wother值将无法正确导入。这意味着,所有值都将向右移动。例如,COLUMN_1中的值的内容将在COLUMN_2中导入,依此类推。当我删除该行时,它的工作正常.....有人可以帮助我吗?
答案 0 :(得分:0)
好的解决方法是将SEQ_NUMBER字段作为控件中的最后一个字段 文件。如果有人感兴趣,可以查看此链接以获取更多详细信息:http://www.mathcs.emory.edu/~cheung/Courses/377/Oracle/SQL-loader/FAQ.html