我有大量具有相同列的.csv
个文件,我需要将这些文件上传到Oracle Express版本的表中。
列如下,我已经完成了一个示例控制文件。请帮我为此开发控制文件。
load data
INFILE 'Trade_File_3.01.2018.csv'
INTO TABLE Daily_Trades_Full
APPEND
FIELDS TERMINATED BY ','
(TRADE_DAT,
TRANSACTION_NO,
COMPANY,
MAIN_TYPE,
SUB_TYPE,
PRICE,
QUANTITY,
LOT_TYPE,
BROKER_ID_BUY,
CL_PREFIX_BUY,
CL_SUFIX_BUY,
CL_JOINT_AC_NO_BUY,
BROKER_ID_SELL,
CL_PREFIX_SELL,
CL_SUFIX_SELL,
CL_JOINT_AC_NO_SELL,
BUY_OFFICE_CODE_BRANCH,
SELL_OFFICE_CODE_BRANCH_CODE,
FORIEGN_FLAG_BUY,
FORIEGN_FLAG_SELL,
TRADE_TIME,
SOURCEID_BUY,
SOURCEID_SELL )
表格结构
Name Null Type
---------------------------- ---- -------------
TRADE_DAT VARCHAR2(9)
TRANSACTION_NO VARCHAR2(20)
COMPANY VARCHAR2(40)
MAIN_TYPE VARCHAR2(10)
SUB_TYPE VARCHAR2(10)
PRICE VARCHAR2(50)
QUANTITY VARCHAR2(50)
LOT_TYPE VARCHAR2(10)
BROKER_ID_BUY VARCHAR2(30)
CL_PREFIX_BUY VARCHAR2(90)
CL_SUFIX_BUY VARCHAR2(20)
CL_JOINT_AC_NO_BUY VARCHAR2(10)
BROKER_ID_SELL VARCHAR2(30)
CL_PREFIX_SELL VARCHAR2(90)
CL_SUFIX_SELL VARCHAR2(20)
CL_JOINT_AC_NO_SELL VARCHAR2(10)
BUY_OFFICE_CODE_BRANCH VARCHAR2(120)
SELL_OFFICE_CODE_BRANCH_CODE VARCHAR2(120)
FORIEGN_FLAG_BUY VARCHAR2(10)
FORIEGN_FLAG_SELL VARCHAR2(10)
TRADE_TIME VARCHAR2(100)
SOURCEID_BUY VARCHAR2(120)
SOURCEID_SELL VARCHAR2(130)
示例.csv文件
TRADE_DAT TRANSACTION_NO COMPANY MAIN_TYPE SUB_TYPE PRICE QUANTITY LOT_TYPE BROKER_ID_BUY CL_PREFIX_BUY CL_SUFIX_BUY CL_JOINT_AC_NO_BUY BROKER_ID_SELL CL_PREFIX_SELL CL_SUFIX_SELL CL_JOINT_AC_NO_SELL BUY_OFFICE_CODE_branch SELL_OFFICE_CODE_branch_code FORIEGN_FLAG_BUY FORIEGN_FLAG_SELL TRADE_TIME SOURCEID_BUY SOURCEID_SELL
02-Jan-18 1 BBH N 0 16.9 10 N MSB 542670398 VN 0 MSB 862490355 VN 0 CMB CMB 0 0 9:30:04 AM ..0 B20
02-Jan-18 2 BIL N 0 2.7 10 N MSB 542670398 VN 0 MSB 473153866 VN 1 CMB CMB 0 0 9:30:05 AM C8593 B25
答案 0 :(得分:0)
好吧,首先,我可以从您的数据中看到,您应该删除包含列名称的文件标题。
此外,您的字段按空格分隔,因此您应该在控制文件中写入
FIELDS TERMINATED BY ' '
最后,您还应该在控制文件中包含字段的类型。