请教个sqlldr 使用direct选项的问题!
创建如下临时表:
create table TEST
(
ID1 NUMBER(3) not null,
ID2 NUMBER(3) default 1 not null,
ID3 NUMBER(3) default 2 not null
)
其中ID1是主键
数据文件中只要ID2的值,ID1希望根据序列生成,ID3使用默认值
sqlldr的控制文件如下:
load data
INFILE 'test.txt'
INTO TABLE test
APPEND
FIELDS TERMINATED BY ','
TRAILING NULLCOLS(
ID2,
ID1 sequence(max,1)
)
数据文件内容如下:
3
2
我觉得这样配置时,导入的数据应该是ID1是自增的,ID2是文本文件中的,ID3为默认值
但执行sqlldr导入数据时
D:\>sqlldr user1/user1@testdb control=test.ctl direct=true log =test.log
SQL*Loader: Release 9.2.0.8.0 - Production on 星期二 10月 26 13:43:50 2010
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL*Loader-951: 呼叫一次/加载初始化错误
ORA-26010: Column ID3 in table TEST is NOT NULL and is not being loaded
请教各位大侠,这个问题该怎么解决。数据文件是不能修改的,控制文件中也不能加ID3,多谢!