sql*loader 用法1

sql*loader control file 写法

使用的例子均是oracle自带的例子,路径为:rdbms/demo ,以ulcase开头的文件共11个,介绍sql*load用法

写出来纯粹是供自己学习使用

1 数据文件在控制文件中

  LOAD DATA

  INFILE *

  [INSERT|APPEND|REPLACE|TRUNCATE] INTO TABLE dept  --------注释1

  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"',  --------注释3

  TRAILING   NULLCOLS                                      -----注释2

  (deptno,dname,loc)

  BEGINDATA

  12,RESEARCH,"SARATOGA"

  10,"ACCOUNT   ING",CLEVELAND

  11,"INT'LAE","SAN FERAN"

 

 

注释1:这里指定插入数据的方式

     insert,为缺省方式,在数据装载开始时要求表为空,否则在运行sqlldr时会出错,导致运行失败

     append,在表中追加新记录,原有数据表中的数据不需要清空,直接在现在数据的基础上插入新纪录

     replace,删除旧记录,替换成新装载的记录

     truncate,同上

注释2: 表示如表的字段没有对应的值时允许为空

注释3: 指定用逗号分隔数据字段,每个字段可以用双引号括起

 

对于上面的例子,如果数据文件中本身就带双引号的话就不能够这样写

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用SQL*Loader传递固定值时,可以通过在控制文件中使用CONSTANT关键字来指定固定值。CONSTANT关键字用于将一个常量值硬编码到加载过程中的某个字段中。 假设我们有一个包含两个字段的表,一个是一个自增主键ID,另一个是姓名。我们想要在导入数据时给所有记录的ID字段设置一个特定的固定值(例如100),而姓名字段使用实际的数据。 首先,我们需要创建一个控制文件(例如data.ctl),它将指导SQL*Loader的工作。文件内容如下: LOAD DATA INFILE 'data.txt' INTO TABLE my_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ( ID CONSTANT 100, name ) 在这个控制文件中,我们使用CONSTANT关键字将ID字段设置为100,这意味着无论输入文件中的实际值是什么,ID字段都将被设置为固定值100。而name字段则不使用CONSTANT关键字,它将由输入文件中的实际值进行填充。 然后,我们需要准备一个包含数据的输入文件(例如data.txt)。文件内容如下: Jack John Anna 在这个文件中,我们只提供了姓名字段的值,而ID字段的值不需要提供,因为在控制文件中已经设置为固定值100。 最后,我们可以运行SQL*Loader命令来执行数据加载过程: sqlldr control=data.ctl 以上就是使用SQL*Loader传递固定值的方法。通过在控制文件中使用CONSTANT关键字,我们可以将特定的固定值硬编码到加载过程中的某个字段中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值