SELECT a.ID,
a.SEG_FLIGHT_ID,
a.SEG_DEP_STATION_CODE,
a.SEG_ARR_STATION_CODE,
a.SEG_CLASS_SEQUENCE,
a.SEG_TRAFFIC_RESTRICTION_CODE,
a.SEG_DEP_TERMINAL,
a.SEG_ARR_TERMINAL,
a.SEG_OC_TYPE,
a.SEG_OC_MAP_NUMBER,
a.SEG_OC_CLASS_MAPPING,
a.SEG_DATA_SOURCE
FROM T_SEGMENT a,
(SELECT id
FROM
(SELECT t.id
FROM T_FLIGHT t,
T_TASK ta
WHERE 1=1
AND ta.id IN ('11008',
'11003',
'11014',
'11012',
'14001',
'11001')
AND t.FLT_AIRLINE_CODE = ta.FLT_AIRLINE_CODE
AND t.FLT_FLIGHT_NO = ta.FLT_FLIGHT_NO
AND t.FLT_FLIGHT_DATE = ta.FLT_FLIGHT_DATE
AND t.FLT_OC_FLIGHT_ID IS NULL
AND t.IS_VALID = 1
AND nullif('AAAA',t.FLT_OFFICE) IS NOT NULL )
LEFT JOIN t_dep_schema s ON id = s.flt_id
WHERE s.flt_id IS NULL
OR (s.flt_id IS NOT NULL
AND (s.FLT_IN_TCARD_PROCESS_FLAG ='N'
OR s.FLT_IN_TCARD_PROCESS_FLAG IS NULL))
OR (s.flt_id IS NOT NULL
AND (s.FLT_IN_INIT_PROCESS_FLAG IS NULL
OR s.FLT_IN_INIT_PROCESS_FLAG ='N')) ) f
WHERE 1=1
AND a.SEG_FLIGHT_ID = f.ID
AND a.IS_VALID = 1
Usage
CONNECT commits the current transaction to the database, disconnects the current username from Oracle Database, and reconnects with the specified username.
--原SQL代码较长,文本处理后的SQL如下:
SELECT ROWNUM, T.*
FROM (SELECT OWNER, OBJECT_NAME, NAMESPACE.....
FROM T1_PART TB
where TB.OBJECT_TYPE = :1
and TB.CREATED = :2
ORDER BY TB.OBJECT_ID) T
WHERE ROWNUM BETWEEN 1 AND 1000
SELECT t.ID, t.FLT_OC_FLIGHT_ID, t.FLT_AIRLINE_CODE, t.FLT_FLIGHT_NO, t.FLT_FLIGHT_DATE
, t.FLT_ALL_STATIONS, t.FLT_UPDATE_AGENT, t.FLT_UPDATE_TIME, t.FLT_NIGHT_FLIGHT_FLAG, t.FLT_INTERNATIONAL
, t.FLT_ORI_STATION_CODE, t.FLT_DES_STATION_CODE, t.SEG_DATA_SOURCE, t.IS_VALID, t.INSERT_TIME
, t.UPDATE_TIME, t.FLT_MSG_TID
FROM T_DEP_FDC_FLIGHT t
INNER JOIN T_DEP_FDC_STATION s ON t.ID = s.STA_FLIGHT_ID
WHERE t.FLT_AIRLINE_CODE IN (:1, :2, :3, :4)
AND instr(t.FLT_ALL_STATIONS, :5) BETWEEN 1 AND length(t.FLT_ALL_STATIONS) - 3
AND s.STA_STATION_CODE = :6
AND s.STA_SCH_DEP_TIME <= :7
AND s.STA_SCH_DEP_TIME >= :8
AND t.IS_VALID = 1
AND t.FLT_OC_FLIGHT_ID IS NULL