Курсовая работа: Автоматизированная система бронирования авиабилетов
При внесении изменений в рейс, на передаваемые параметры накладываются те же ограничении, как и при добавлении рейса.
3.8 Удаление рейса
При удалении рейса срабатывает триггер TR_Flights_Delete:
CREATE TRIGGER [TR_Flights_Delete] ON [dbo].[Flights] INSTEAD OF DELETE
AS
DELETE FROM Orders
WHERE Orders.FlightID= (SELECT top(1) deleted.FlightID FROM deleted)
DELETE FROM Flights
WHERE Flights.FlightID= (SELECT top(1) deleted.FlightID FROM deleted)
RETURN
Так как в базе данных существует связь FK_Orders_Flights между таблицами Flight и Orders, то невозможно удалить рейс, пока есть хотя бы одна заявка на него. Поэтому сначала должны быть удалены все связанные заявки, а уже потом – сам рейс. Эту логику и осуществляет даный триггер.
3.8 Добавление пользователя
При добавлении пользователя применяется хранимая процедура Insert_User:
CREATE PROCEDURE [dbo].[Insert_User]
@login nvarchar(20),
@password nvarchar(20),
@email nvarchar(50)
AS
BEGIN
INSERT Users
(UserLogin, Password, Email)
VALUES
(@login, @password, @email)
END
3.9 Удаление пользователя
Удаление пользователя осуществляется хранимой процедурой Delete_User:
CREATE PROCEDURE [dbo].[Delete_User]
@UserID int
AS