2016-12-29 55 views
0

我想要使用SQL Loader并将数据插入到表中时需要检查一些条件并插入数据。
例子:Oracle 12c - SQL * Loader条件加载

CASE COLUMNA 
WHEN 'NULL' 
    -- INSERT NULL VALUE IN IT INSTEAD OF STRING 'NULL' 
ELSE 
    -- INSERT THE DATA AS IS 
END 

我们可以在安装SQL Loader控制文件中的这些case语句?在任何地方找不到好的例子。

回答

1

尝试添加codition在你的控制文件,如:

load data 
    APPEND INTO TABLE XXX 
    fields terminated by "\t" 
    TRAILING NULLCOLS 
    (--Condition which you can add. 
    START_DATE "CASE WHEN length(:START_DATE) < 10 THEN null ELSE :START_DATE END"  

) 

其中START_DATE isthe表

0

一列仅供参考,对于更复杂的测试或其他需要,你可以重复使用,你也可以拨打该返回值的函数或封装件:

... 
START_DATE "UTILITY_PKG.VALIDATE_DATE(:START_DATE)" 

或查询(具有perentheses以包围):

START_DATE "(select sysdate from dual)",