Курсовая работа: Автоматизированная система бронирования авиабилетов

BEGIN

RETURN

convert(char(2),datediff(hh,@dateDeparture,@dateArrival))+':'+

convert(char(2),datediff(mi,@dateDeparture,@dateArrival)-

datediff(hh,@dateDeparture,@dateArrival)*60)

END


Данная функция возвращает продолжительность полета в виде строки из 5 символов в формате hh:mm.

Так же в базе не хранится информации о количестве свободных мест первого и второго класса на заданный рейс. Но данное значение для соответствующего класса можно вычислить, взяв общее количество мест класса, характерное для данной модели самолета, и вычтя из него количество забронированных мест. Подсчет количества забронированных мест идет суммированием по таблице заказов. Для вычисления свободных мест первого и второго класса созданы еще 2 скалярные функии: CountEmptyPlaces1cl и CountEmptyPlaces2cl.

CREATE FUNCTION [dbo].[CountEmptyPlaces1cl]

(

@flightID int

)

RETURNS int

BEGIN

DECLARE @count int;

IF EXISTS (SELECT OrderID FROM Orders WHERE FlightID=@flightID

AND Number1cl>0)

SELECT @count=Aircrafts.Count1

-(SELECT SUM(Number1cl) FROM Orders WHERE FlightID=@flightID)

FROM Flights,Aircrafts WHERE Flights.FlightID=@flightID

AND Flights.AircraftID=Aircrafts.AircraftID

ELSE

SELECT @count=Aircrafts.Count1

FROM Flights,Aircrafts WHERE Flights.FlightID=@flightID

AND Flights.AircraftID=Aircrafts.AircraftID

RETURN @count

END

CREATE FUNCTION [dbo].[CountEmptyPlaces2cl]

(

К-во Просмотров: 1492
Бесплатно скачать Курсовая работа: Автоматизированная система бронирования авиабилетов