2016-12-29 51 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)",