sqlldr控制文件的写法

udonome 2005-07-08 03:25:46
用sqlldr导入数据时有个字段使用sequence递增的,我做了个sequence取数据给它赋值,请问该如何写控制文件。我知道用SEQUENCE(MAX,1)可以实现递增,但是此处我想用库中已有的sequence,请大虾们帮我!
...全文
935 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
heyixiang 2005-07-11
  • 打赏
  • 举报
回复
用Excel打开你的TXT文档,然后在创建一个自增的列保存,最后在将这个文件到入,这也是一种方法。

比如EXCEL中A1的值是“1”,然后设置A2的值为“=A1+1”,接着用格式刷让整个A列都是同样的设置。

这个方法也很方便,主要是节省时间。
udonome 2005-07-11
  • 打赏
  • 举报
回复
还有,怎么写控制文件实现将文本文件中的某个内容导入到库中对应多个字段上?例如文本文件为:
A B
1 1
2 2
3 3
库表为
A B C
我想把文本文件中的B的内容导入到库表的B和C两列中,该怎么在控制文件中实现?其他变通的方法我不需要。
udonome 2005-07-11
  • 打赏
  • 举报
回复
有没有直接写在ctl里的其他方法?
yehongli5 2005-07-11
  • 打赏
  • 举报
回复
ctl文件为(ctl的文件名必须为表名):
Load data
infile 'excelName.txt'
append into table tableName(你的表名)
fields terminated by X'09'
(A,B)


注意:
你先将你的文本文件的数据放入到excel中,然后将它已“制表符分隔”的形式保存
excelName.txt就为你报保存的文本文件
再将ctl、txt文件放入C盘根目录
最后在dos下输入:sqlldr 用户名/用户密码@sid control=tableName
ern 2005-07-08
  • 打赏
  • 举报
回复
用触发器啊,不用写在ctl里

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧