create table flights (
flight_id integer not null primary key,
flight_number varchar2(6) not null,
departure_airport_code varchar2(3) not null,
destination_airport_code varchar2(3) not null,
departure_datetime timestamp with time zone not null,
flight_duration interval day to second(0) not null,
operating_carrier_code varchar2(2) not null
) partition by range (departure_airport_code) (
partition pA_E values less than ('F'),
partition pF_J values less than ('K'),
partition pK_O values less than ('P'),
partition pP_T values less than ('U'),
partition pU_Z values less than ('a')
)
Table created.
insert into flights
values (1, 'BA123', 'LHR', 'JFK', timestamp'2015-01-01 10:00:00 -00:00', interval '5' hour, 'BA')
1 row(s) inserted.
insert into flights
values (2, 'BA123', 'LHR', 'JFK', timestamp'2015-01-02 10:00:00 -00:00', interval '5' hour, 'BA')
1 row(s) inserted.
insert into flights
values (3, 'AA567', 'LHR', 'JFK', timestamp'2015-01-01 13:00:00 -00:00', interval '6' hour, 'AA')
1 row(s) inserted.
insert into flights
values (4, 'BA124', 'JFK', 'LHR', timestamp'2015-01-01 22:00:00 -05:00', interval '5' hour, 'BA')
1 row(s) inserted.
insert into flights
values (5, 'BA124', 'JFK', 'LHR', timestamp'2015-01-02 22:00:00 -05:00', interval '5' hour, 'BA')
1 row(s) inserted.
insert into flights
values (6, 'AA567', 'JFK', 'LHR', timestamp'2015-01-01 20:00:00 -05:00', interval '6' hour, 'AA')
1 row(s) inserted.
insert into flights
values (7, 'AA987', 'JFK', 'SFO', timestamp'2015-01-02 12:00:00 -05:00', interval '4' hour, 'AA')
1 row(s) inserted.
commit
Statement processed.
update flights set flight_number = 'AA986' where flight_id = 7
1 row(s) updated.
select * from flights
FLIGHT_ID | FLIGHT_NUMBER | DEPARTURE_AIRPORT_CODE | DESTINATION_AIRPORT_CODE | DEPARTURE_DATETIME | FLIGHT_DURATION | OPERATING_CARRIER_CODE | 4 | BA124 | JFK | LHR | 01-JAN-15 10.00.00.000000 PM -05:00 | +00 05:00:00 | BA | 5 | BA124 | JFK | LHR | 02-JAN-15 10.00.00.000000 PM -05:00 | +00 05:00:00 | BA | 6 | AA567 | JFK | LHR | 01-JAN-15 08.00.00.000000 PM -05:00 | +00 06:00:00 | AA | 7 | AA986 | JFK | SFO | 02-JAN-15 12.00.00.000000 PM -05:00 | +00 04:00:00 | AA | 1 | BA123 | LHR | JFK | 01-JAN-15 10.00.00.000000 AM +00:00 | +00 05:00:00 | BA | 2 | BA123 | LHR | JFK | 02-JAN-15 10.00.00.000000 AM +00:00 | +00 05:00:00 | BA | 3 | AA567 | LHR | JFK | 01-JAN-15 01.00.00.000000 PM +00:00 | +00 06:00:00 | AA |
---|
update flights
set flight_duration = flight_duration + interval '30' minute
where flight_id = 7
1 row(s) updated.
select * from flights
FLIGHT_ID | FLIGHT_NUMBER | DEPARTURE_AIRPORT_CODE | DESTINATION_AIRPORT_CODE | DEPARTURE_DATETIME | FLIGHT_DURATION | OPERATING_CARRIER_CODE | 4 | BA124 | JFK | LHR | 01-JAN-15 10.00.00.000000 PM -05:00 | +00 05:00:00 | BA | 5 | BA124 | JFK | LHR | 02-JAN-15 10.00.00.000000 PM -05:00 | +00 05:00:00 | BA | 6 | AA567 | JFK | LHR | 01-JAN-15 08.00.00.000000 PM -05:00 | +00 06:00:00 | AA | 7 | AA986 | JFK | SFO | 02-JAN-15 12.00.00.000000 PM -05:00 | +00 04:30:00 | AA | 1 | BA123 | LHR | JFK | 01-JAN-15 10.00.00.000000 AM +00:00 | +00 05:00:00 | BA | 2 | BA123 | LHR | JFK | 02-JAN-15 10.00.00.000000 AM +00:00 | +00 05:00:00 | BA | 3 | AA567 | LHR | JFK | 01-JAN-15 01.00.00.000000 PM +00:00 | +00 06:00:00 | AA |
---|
update flights
set flight_duration = flight_duration + interval '30' minute
where flight_id = 7
1 row(s) updated.
select * from flights
FLIGHT_ID | FLIGHT_NUMBER | DEPARTURE_AIRPORT_CODE | DESTINATION_AIRPORT_CODE | DEPARTURE_DATETIME | FLIGHT_DURATION | OPERATING_CARRIER_CODE | 4 | BA124 | JFK | LHR | 01-JAN-15 10.00.00.000000 PM -05:00 | +00 05:00:00 | BA | 5 | BA124 | JFK | LHR | 02-JAN-15 10.00.00.000000 PM -05:00 | +00 05:00:00 | BA | 6 | AA567 | JFK | LHR | 01-JAN-15 08.00.00.000000 PM -05:00 | +00 06:00:00 | AA | 7 | AA986 | JFK | SFO | 02-JAN-15 12.00.00.000000 PM -05:00 | +00 05:00:00 | AA | 1 | BA123 | LHR | JFK | 01-JAN-15 10.00.00.000000 AM +00:00 | +00 05:00:00 | BA | 2 | BA123 | LHR | JFK | 02-JAN-15 10.00.00.000000 AM +00:00 | +00 05:00:00 | BA | 3 | AA567 | LHR | JFK | 01-JAN-15 01.00.00.000000 PM +00:00 | +00 06:00:00 | AA |
---|
update flights f1
set f1.departure_datetime = timestamp'2015-01-01 11:00:00 -00:00',
(f1.flight_number, f1.flight_duration) = (
select f2.flight_number || '0', f2.flight_duration
from flights f2
where f2.departure_airport_code = f1.departure_airport_code
and f2.destination_airport_code = f1.destination_airport_code
and trunc(f2.departure_datetime) = trunc(f2.departure_datetime)
and f2.operating_carrier_code = 'AA'
)
where f1.operating_carrier_code = 'BA'
and trunc(f1.departure_datetime) = date'2015-01-01'
2 row(s) updated.
select * from flights
FLIGHT_ID | FLIGHT_NUMBER | DEPARTURE_AIRPORT_CODE | DESTINATION_AIRPORT_CODE | DEPARTURE_DATETIME | FLIGHT_DURATION | OPERATING_CARRIER_CODE | 4 | AA5670 | JFK | LHR | 01-JAN-15 11.00.00.000000 AM +00:00 | +00 06:00:00 | BA | 5 | BA124 | JFK | LHR | 02-JAN-15 10.00.00.000000 PM -05:00 | +00 05:00:00 | BA | 6 | AA567 | JFK | LHR | 01-JAN-15 08.00.00.000000 PM -05:00 | +00 06:00:00 | AA | 7 | AA986 | JFK | SFO | 02-JAN-15 12.00.00.000000 PM -05:00 | +00 05:00:00 | AA | 1 | AA5670 | LHR | JFK | 01-JAN-15 11.00.00.000000 AM +00:00 | +00 06:00:00 | BA | 2 | BA123 | LHR | JFK | 02-JAN-15 10.00.00.000000 AM +00:00 | +00 05:00:00 | BA | 3 | AA567 | LHR | JFK | 01-JAN-15 01.00.00.000000 PM +00:00 | +00 06:00:00 | AA |
---|