我的数据库sqloader..In有一个奇怪的问题,我创建了这样一个序列:
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中导入,因此,on..when,我删除了行,而不是它的工作,correctly.....can,有人帮助我吗?
发布于 2017-07-13 09:21:06
好的,解决方案是将SEQ_NUMBER字段作为控制文件中的最后一个字段。如果有人感兴趣,他可以看到这个链接获得更多细节:http://www.mathcs.emory.edu/~cheung/Courses/377/Oracle/SQL-loader/FAQ.html
https://stackoverflow.com/questions/45075873
复制相似问题