创建如下临时表:
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.logSQL*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,多谢!
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.logSQL*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,多谢!
解决方案 »
- sql insert语句插入前先判断是否有相同记录
- 取得数据表自动编号类型字段,新增记录后取该字段的值
- 不显示删除回复显示所有回复显示星级回复显示得分回复 页面加密传输密码
- 在程序中,已经知道一张表,如何知道这张表有哪些列?急!请高手指点
- 在存储过程中应该能drop table吧?为什么这个简单的过程编译无效,急
- 求一存储过程,有点复杂的。
- 使用sql语句合并记录
- 问个简单问题:如何查看一条语句的执行计划?
- 关于大文本数据的存取问题讨论,欢迎高手前来发表意见!
- 在vc中我用如下语句(select "name" from mytable where "name" like '%联通%' 查不到
- case 表达式 怎样取别名?
- Oracle高手帮忙,谢谢!
id3 不能为空 或者
alter table test modify id3 default 2 null要么把id3加进去
C:\>sqlldr scott/sys@orcl control=d:\sqlldr\test.ctl direct=true log=d:\test.log
SQL*Loader: Release 10.2.0.1.0 - Production on 星期五 10月 22 15:04:11 2010Copyright (c) 1982, 2005, Oracle. All rights reserved.
加载完成 - 逻辑记录计数 1。
gSQL*Loader: Release 10.2.0.1.0 - Production on 星期五 10月 22 15:06:07 2010Copyright (c) 1982, 2005, Oracle. All rights reserved.达到提交点 - 逻辑记录计数 1
SQL> select * from test
2 / ID1 ID2 ID3
---------- ---------- ----------
1 3 2
Field Defaults on the Direct PathDefault column specifications defined in the database are not available when you use direct path loading. Fields for which default values are desired must be specified with the DEFAULTIF clause. If a DEFAULTIF clause is not specified and the field is NULL, then a null value is inserted into the database.這是oracle 10g官方文檔關於direct的原文