如何使用单个控制文件将通用平面文件数据加载到两个不同的表?

问题描述 投票:0回答:1

我无法使用单个控制文件和.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数据文件将数据加载到不同的表中。只有一个表数据可以完美加载,但是第二个表除了...

oracle oracle11g oracle-sqldeveloper sql-loader oracle-apps
1个回答
0
投票

这样的行为在文档中进行了描述;它说-当SQL * Loader到达第二个INSERT INTO时,它将从加载第一个INSERT INTO期间剩余的位置扫描输入数据。

换句话说,它扫描nothing

© www.soinside.com 2019 - 2024. All rights reserved.