This can be done in numerous ways. One way would be to use the
OUTPUT clause[
^] and get the deleted rows into a table variable and then insert that into another table. Another possibility would be to utilize
deleted table[
^] inside a trigger. Of course a simple
INSERT INTO ... SELECT
structure before the deletion could also be an option.
However, to be precise, none of these are simultaneous.