• I can see the need to understand how to do this, although I tend to go back to the basics.

    If you find yourself needing to do this, question if it be designed into the the table in the first place to prevent this?

    After all, I think this leads into the initial issue - without deleting all, the engine needs a way to discern which one(s) to delete.

    I realize sometimes you have no input / control into this, but a few words about this concept might be a worthwhile addition.

    If you wanted to expand this, age (at least to me) should be calculated, not stored in most cases.

    And the changing job title also drives me towards separating out to different tables and having effectivity dates.

    But that is way beyond your intended scope.

    Just trying to spark a thought or two, not to make a big deal about any of this.