Ваша базовая логика верна, синтаксис ужасно неправильный.При работе с триггерами мы используем специальные таблицы inserted
и deleted
, которые имеют информацию об изменениях данных и имеют ту же структуру, что и базовая таблица.Триггер должен выглядеть примерно так:
CREATE TRIGGER occupancy
ON Reservation
AFTER INSERT
AS
SET NOCOUNT ON;
UPDATE s --This is an alias for the table Seat
SET occypancy = 'reserved'
FROM Seat s --We can use FROM clauses like a normal SELECT
INNER JOIN Ticket t on s.number = t.number_of_seat --Is the seat number global or should you add a theater/auditorium number in your join logic?
INNER JOIN inserted i on t.code = i.code_of_ticket
WHERE s.occypancy = 'free';