Advertisement
StoyanGrigorov

BONUS Section 5: Update Trigger

Feb 9th, 2017
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 0.84 KB | None | 0 0
  1. CREATE TRIGGER tr_SuccesFullFlight
  2. ON
  3. Flights
  4. AFTER UPDATE
  5. AS
  6. BEGIN
  7.     DECLARE @NewFlightStatus VARCHAR(9) = (SELECT DISTINCT ins.Status FROM inserted AS ins);
  8.     IF(@NewFlightStatus = 'Arrived')
  9.     BEGIN
  10.         INSERT ArrivedFlights
  11.         (FlightID, ArrivalTime, Origin, Destination, Passengers)
  12.         SELECT * FROM
  13.         (
  14.         SELECT
  15.                 ins.FlightID,
  16.                 ins.ArrivalTime,
  17.                 [Origin] = (SELECT AirportName FROM Airports AS a INNER JOIN Flights AS f ON f.OriginAirportID = a.AirportID WHERE f.FlightID = ins.FlightID),
  18.                 [Destination] = (SELECT AirportName FROM Airports AS a INNER JOIN Flights AS f ON f.DestinationAirportID = a.AirportID WHERE f.FlightID = ins.FlightID),
  19.                 [Passengers] = (SELECT COUNT(t.TicketID) FROM Tickets AS t INNER JOIN Flights AS f ON f.FlightID = t.FlightID WHERE f.FlightID = ins.FlightID)
  20.         FROM inserted AS ins
  21.         ) w
  22.     END
  23. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement