Oracle用sqlldr导入文件数据时使用默认值

当我们再linux主机上使用sqllldr将文件数据导入到库表中的时候会发现有的时候文件中字段值为空,

但是库表中这个字段是必须要有值的,所以我们要么改字段可为空,要么在入库的时候给这个字段加

一个可以符合逻辑的默认值。下面这个方法就可以为我们加上一个默认值,而且在该字段有值的时候还

不会覆盖原有数值。修改ctl文件

string terminated  by '|'    "nvl(:string,'value')",

例子:

      文件中的两条数据transtype字段一条数据为01另外一条为空,我们按照以上方法给设置一个默认值02,

      然后运行程序检查数据库表中数据,发现01倍正常入库字段为空的那条数据给赋值了我们设置的默认值02。

Oracle用sqlldr导入文件数据时使用默认值_第1张图片

Oracle用sqlldr导入文件数据时使用默认值_第2张图片

你可能感兴趣的:(linux,Oracle)