CREATE TABLE tempflow (id INT NOT NULL AUTO_INCREMENT, RECORD_TYPE CHAR(1),
ORIGIN_CODE CHAR(4), DESTINATION_CODE CHAR(4), ROUTE_CODE CHAR(5),
STATUS_CODE CHAR(3), USAGE_CODE CHAR(1), DIRECTION CHAR(1), END_DATE DATE,
START_DATE DATE, TOC CHAR(3), CROSS_LONDON_IND CHAR(1),
NS_DISC_IND CHAR(1), PUBLICATION_IND CHAR(1), FLOW_ID CHAR(7),
TICKET_CODE CHAR(3), FARE CHAR(8), RESTRICTION_CODE CHAR(2),
PRIMARY KEY(id));
LOAD DATA INFILE 'RJFAF504.FFL' INTO TABLE tempflow IGNORE 6 LINES (@var1)
SET RECORD_TYPE=SUBSTR(@var1,2,1),
/*columns for flows only*/
ORIGIN_CODE=IF(RECORD_TYPE='F',SUBSTR(@var1,3,4),NULL),
DESTINATION_CODE=IF(RECORD_TYPE='F',SUBSTR(@var1,7,4),NULL),
ROUTE_CODE=IF(RECORD_TYPE='F',SUBSTR(@var1,11,5),NULL),
STATUS_CODE=IF(RECORD_TYPE='F',SUBSTR(@var1,16,3),NULL),
USAGE_CODE=IF(RECORD_TYPE='F',SUBSTR(@var1,19,1),NULL),
DIRECTION=IF(RECORD_TYPE='F',SUBSTR(@var1,20,1),NULL),
END_DATE=IF(RECORD_TYPE='F',STR_TO_DATE(SUBSTR(@var1,21,8),'%d%m%Y'),NULL),
START_DATE=IF(RECORD_TYPE='F',STR_TO_DATE(SUBSTR(@var1,29,8),'%d%m%Y'),NULL),
TOC=IF(RECORD_TYPE='F',SUBSTR(@var1,37,3),NULL),
CROSS_LONDON_IND=IF(RECORD_TYPE='F',SUBSTR(@var1,40,1),NULL),
NS_DISC_IND=IF(RECORD_TYPE='F',SUBSTR(@var1,41,1),NULL),
PUBLICATION_IND=IF(RECORD_TYPE='F',SUBSTR(@var1,42,1),NULL),
/*columns for both*/
FLOW_ID=IF(RECORD_TYPE='F',SUBSTR(@var1,43,7),SUBSTR(@var1,3,7)),
columns for fares only*/
TICKET_CODE=IF(RECORD_TYPE='T',SUBSTR(@var1,10,3),NULL),
FARE=IF(RECORD_TYPE='T',SUBSTR(@var1,13,8),NULL),
RESTRICTION_CODE=IF(RECORD_TYPE='T',SUBSTR(@var1,21,2),NULL);
CREATE TABLE flow (id INT NOT NULL AUTO_INCREMENT, ORIGIN_CODE CHAR(4),
DESTINATION_CODE CHAR(4), ROUTE_CODE CHAR(5), STATUS_CODE CHAR(3),
USAGE_CODE CHAR(1), DIRECTION CHAR(1), END_DATE DATE, START_DATE DATE,
TOC CHAR(3), CROSS_LONDON_IND CHAR(1), NS_DISC_IND CHAR(1),
PUBLICATION_IND CHAR(1), FLOW_ID CHAR(7), PRIMARY KEY(id));
INSERT INTO flow SELECT tempflow.id, tempflow.ORIGIN_CODE,
tempflow.DESTINATION_CODE, tempflow.ROUTE_CODE, tempflow.STATUS_CODE,
tempflow.USAGE_CODE, tempflow.DIRECTION, tempflow.END_DATE,
tempflow.START_DATE, tempflow.TOC, tempflow.CROSS_LONDON_IND,
tempflow.NS_DISC_IND, tempflow.PUBLICATION_IND, tempflow.FLOW_ID
FROM tempflow WHERE RECORD_TYPE='F';
CREATE TABLE flow_fares (id INT NOT NULL AUTO_INCREMENT, FLOW_ID CHAR(7),
TICKET_CODE CHAR(3), FARE CHAR(8), RESTRICTION_CODE CHAR(2), PRIMARY KEY(id));
INSERT INTO flow_fares SELECT tempflow.id, tempflow.FLOW_ID,
tempflow.TICKET_CODE, tempflow.FARE, tempflow.RESTRICTION_CODE
FROM tempflow WHERE RECORD_TYPE='T';
DROP TABLE tempflow;