create or replace function SetSeatReserved()
returns trigger as $$
begin
    if new.seatid is null then
        return new;
    end if;

    update seat
    set reserved = true
    where seat.id = new.seatid;

    return new;
end;
$$ language plpgsql;

create trigger SetSeatReserved
after insert on ticket
for each row execute function SetSeatReserved();