我无法使用单个控制文件和.csv数据文件将数据加载到不同的表中。只有一个表数据可以完美加载,但是第二个表除了.ctl文件中定义的常量值之外,没有加载任何值。
请找到我使用的代码:
OPTIONS ( ERRORS=1000000, DIRECT=FALSE, SKIP=1) load data INFILE * append into table TB1 fields terminated by "," optionally enclosed by '"' trailing nullcols ( WORK_ORDER_ID "TRIM(:WORK_ORDER_ID)", REQUEST_DATE FILLER, REQUEST_TYPE FILLER, INSTALLATION_TYPE "TRIM(:INSTALLATION_TYPE)", REQUEST_STATUS FILLER, WORK_STEP FILLER, PROPERTY_NAME FILLER, ADDRESS "TRIM(:ADDRESS)", PROPERTY_CITY FILLER, PROPERTY_STATE FILLER, PROPERTY_ZIP FILLER, DL_MARKET FILLER, DL_DISPATCH_ZONE FILLER, PROPERTY_PHONE_NO FILLER, REQUEST_DESCP_NOTES FILLER, SITE_ESCORTS FILLER, TOTAL_ROOMS "TRIM(:TOTAL_ROOMS)", LOCATION_BEACONS FILLER, ACCESS_POINTS FILLER, CREATED_BY CONSTANT "lv_user_id", LAST_UPDATED_BY CONSTANT "lv_user_id", LAST_UPDATE_DATE SYSDATE, LAST_UPDATE_LOGIN CONSTANT "lv_user_id", CREATION_DATE SYSDATE ) into table TB2 fields terminated by "," optionally enclosed by '"' trailing nullcols ( REQUEST_ID "TRIM(:REQUEST_ID)", REQUEST_DATE "TRUNC(TO_DATE(TRIM(:REQUEST_DATE),'MM/DD/YYYY HH24:MI:SS'))", REQUEST_TYPE "TRIM(:REQUEST_TYPE)", INSTALLATION_TYPE "TRIM(:INSTALLATION_TYPE)", REQUEST_STATUS "TRIM(:REQUEST_STATUS)", WORK_STEP "TRIM(:WORK_STEP)", ON_PROPERTY_CONTACT "TRIM(:ON_PROPERTY_CONTACT)", ON_PROPERTY_EMAIL "TRIM(:ON_PROPERTY_EMAIL)", ON_PROPERTY_POC_MOBILE "TRIM(:ON_PROPERTY_POC_MOBILE)", PROPERTY_ADDRESS "TRIM(:PROPERTY_ADDRESS)", CREATED_BY CONSTANT "lv_user_id", LAST_UPDATED_BY CONSTANT "lv_user_id", LAST_UPDATE_DATE SYSDATE, LAST_UPDATE_LOGIN CONSTANT "lv_user_id", CREATION_DATE SYSDATE, STG_SEQ_ID "XXMTZ_AT_OP_MAS_STG_SEQ.NEXTVAL" )
TB1数据可完美加载,但TB2不会将任何数据(常量值除外)加载到表中>
我无法使用单个控制文件和.csv数据文件将数据加载到不同的表中。只有一个表数据可以完美加载,但是第二个表除了...
这样的行为在文档中进行了描述;它说-当SQL * Loader到达第二个INSERT INTO
时,它将从加载第一个INSERT INTO
期间剩余的位置扫描输入数据。
换句话说,它扫描nothing