1
UPDATE DIM_AGENT T
SET T.DUTY_AREA =(SELECT L.DUTY_AREA
FROM V_MU_AMS_AGENT L
WHERE L.IATA_CODE = T.AGENT_IATA),
T.ADMIN_AREA =
(SELECT L.ADMIN_AREA
FROM V_MU_AMS_AGENT L
WHERE L.IATA_CODE = T.AGENT_IATA)
WHERE EXISTS (SELECT *
FROM V_MU_AMS_AGENT L
WHERE L.IATA_CODE = T.AGENT_IATA
AND L.DUTY_AREA != T.DUTY_AREA)
2
UPDATE
(
SELECT/*+ bypass_ujvc*/
t.exe_company,
k.company_cd
FROM nw_flight_base t,
(
SELECT a.rowid AS rid, b.company_cd
FROM nw_flight_base a,
(SELECT t.*,
nvl(lead(apply_dt)
over(PARTITION BY ac_no ORDER BY apply_dt) - 1,
to_date('2999-12-31', 'yyyy-mm-dd')) next_apply_dt
FROM sa_aircraft t) b
WHERE a.ac_no = b.ac_no
AND a.flight_dt BETWEEN b.apply_dt AND b.next_apply_dt
AND a.flight_dt BETWEEN p_flight_dt_from AND p_flight_dt_to
) k
WHERE t.rowid = k.rid
) SET exe_company = company_cd;