Have you tried with inner block and do nothing on exception;
I suppose that would work - though using an exception path for expected logic is messy - and considerably slower than detection.
After doing something like this the OP would then want to DELETE any remaining records that still have the uid or author with the old value. Do nothing by itself would just leave them alone.