2014-08-29 4 views
1

Oracle 11g에 테이블이 있습니다. SQLLDR로로드하려고합니다.SQLLDR : 기본값이 채워지지 않은 열

... 
ORACLE_ROW_CREATE TIMESTAMP(6) DEFAULT SYSTIMESTAMP 
... 

내 제어 파일은 다음과 같습니다 : 부하가 ORACLE_ROW_CREATE 열을 완료

INTO TABLE rrdbo.IBXR_STAGE_0000 
WHEN (12-26) <> 'IBXRBASELINE ' AND (30-47) <> BLANKS 
    (
    CLIENT_GROUP_ID POSITION(1:10) 
    , PORTAL_ID POSITION(11:20) 
    , ACCOUNT_BRANCH_ID POSITION(21:23) 
    , ACCOUNT_BASE_ID POSITION(24:29) 
    , RELATIONSHIP_TYPE_CD POSITION(30) 
    , CLIENT_ID POSITION(31:40) 
    , CLIENT_SEGMENT_ID POSITION(41:45) DECIMAL EXTERNAL 
    , TOA_IND POSITION(46) 
    , LINK_TYPE_CD POSITION(47) 
    , LST_UPD_TMST POSITION(48:67) TIMESTAMP "YYYYMMDDHH24MISSFF6" 
    , LST_UPD_PRCS_ID POSITION(68:77) 
    , LST_UPD_ID POSITION(78:87) 
    , MULTI_COMPANY_NUM CONSTANT "0000" 
    ) 

후이 표는이 행이 데이터베이스를 만들 때 저장 작성 날짜를 포함해야 열이 값이 없습니다. DIRECT = FALSE로 설정하지 않고이 값을 어떻게 제공합니까?

, ORACLE_ROW_CREATE SYSDATE 

을하지만 당신은 밀리 초 정밀도를 잃을 것 :

답변

3

당신은 SYSDATE를 사용할 수 있습니다.

, ORACLE_ROW_CREATE EXPRESSION "DEFAULT" 

문서는 명시 적으로 말한다 :

기존의 경로 모드와, Expression 매개 변수이 할 수있는 직접 경로 모드 모두에서 그래서 더 유용하게 귀하의 경우, youe는 열 기본을 데리러 EXPRESSION을 사용할 수 있습니다 기본값을 column_name에로드하는 데 사용됩니다.

... 일반적으로 직접 경로로드의 경우와 같이 무시되지 않습니다. (비록 내가 이것을 실제로 사용하지는 않았지만, 나는 문서가 옳았다는 것을 희망한다 ...)

+0

그 덕분에. –

관련 문제