Advertisement
StoyanGrigorov

BONUS Section 5: Update Trigger

Feb 9th, 2017
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 0.92 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] = (
  18.                     SELECT AirportName
  19.                     FROM Airports AS a
  20.                     INNER JOIN Flights AS f ON f.OriginAirportID = a.AirportID
  21.                     WHERE f.FlightID = ins.FlightID),
  22.                 [Destination] = (
  23.                     SELECT AirportName
  24.                     FROM Airports AS a
  25.                     INNER JOIN Flights AS f ON f.DestinationAirportID = a.AirportID
  26.                     WHERE f.FlightID = ins.FlightID),
  27.                 [Passengers] = (
  28.                     SELECT COUNT(t.TicketID)
  29.                     FROM Tickets AS t
  30.                     INNER JOIN Flights AS f ON f.FlightID = t.FlightID
  31.                     WHERE f.FlightID = ins.FlightID)
  32.         FROM inserted AS ins
  33.         ) w
  34.     END
  35. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement