• I don't love the way you have schools and the year in there, but if you're not up for a big refactoring of the tables, then Sean's suggestion makes sense.

    Please take care in writing triggers and test them with 0, 1, and 2 (or more) row updates to be sure it's acting as you expect.