Advertisement
StoyanGrigorov

BONUS Section 5: Update Trigger

Feb 9th, 2017
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.13 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 ins.Status FROM inserted AS ins);
  8.     DECLARE @OldFlightStatus VARCHAR(9) = (SELECT del.Status FROM deleted AS del);
  9.     IF(@NewFlightStatus = 'Arrived')
  10.     BEGIN
  11.         DECLARE @FlightID INT = (SELECT FlightID FROM inserted)
  12.  
  13.         DECLARE @Origin VARCHAR(50) = (SELECT  AirportName
  14.                     FROM Airports  AS a
  15.                     INNER JOIN Flights AS f
  16.                     ON f.OriginAirportID = a.AirportID
  17.                     WHERE f.FlightID = @FlightID)
  18.  
  19.         DECLARE @Destination VARCHAR(50) = (SELECT AirportName
  20.                     FROM Airports  AS a
  21.                     INNER JOIN Flights AS f
  22.                     ON f.DestinationAirportID = a.AirportID
  23.                     WHERE f.FlightID = @FlightID)
  24.        
  25.         DECLARE @Passengers INT = (SELECT COUNT(t.TicketID)
  26.                 FROM Tickets AS t
  27.                 INNER JOIN Flights AS f
  28.                 ON f.FlightID = t.FlightID
  29.                 WHERE f.FlightID = @FlightID)
  30.  
  31.  
  32.         DECLARE @ArrivalTime DATETIME = (SELECT ArrivalTime FROM inserted)
  33.  
  34.         INSERT ArrivedFlights
  35.         (FlightID, ArrivalTime, Origin, Destination, Passengers)
  36.         VALUES
  37.         (@FlightID, @ArrivalTime, @Origin, @Destination, @Passengers)
  38.     END
  39. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement