sqlloader 的一个问题

[复制链接]
查看11 | 回复5 | 2011-11-1 16:21:15 | 显示全部楼层 |阅读模式
SQL> desc t007
Name
Null?Type
----------------------------------------- -------- ----------------------------
ID
NUMBER
TYPE
VARCHAR2(1)
NAME
VARCHAR2(20)
SQL> select * from t007;
ID T NAME
---------- - --------------------
100 0 BOOK
102 FOOD
103 DRINK
104 0 CLOTH
现在通过SQL Loader想在t007上append一些数据,但客户给的数据文本文件上已有 ID 和 NAME 两个字段,而TYPE必须要求为 1。这个control文件该怎样写啊!



回复

使用道具 举报

千问 | 2011-11-1 16:21:15 | 显示全部楼层
本帖最后由 20013011094 于 2011-12-31 19:33 编辑
看看sqlldr 控制文件是否有指定值得选项,这个不计得了。
即时没有也可以用 shell 中的sed 后者awk 之类的命令把文件中的某个域的值全部替换。
然后再导入。

回复

使用道具 举报

千问 | 2011-11-1 16:21:15 | 显示全部楼层
记得有默认值
回复

使用道具 举报

千问 | 2011-11-1 16:21:15 | 显示全部楼层
infile '12.txt'
append into table t007
fields terminated by whitespace
(id,type constant '1' ,name)
回复

使用道具 举报

千问 | 2011-11-1 16:21:15 | 显示全部楼层
constant or default value
回复

使用道具 举报

千问 | 2011-11-1 16:21:15 | 显示全部楼层
最好的习惯是保证文本的工整
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行