Agree with Nautical. This isn't how databases are to work. Data isn't supposed to be moved around different tables; its to be related and designated. You simply add an [InActive] field to a record and when set to True it represents deleted.
Perhaps you can explain what real world process you are modeling in your database and give the reasoning for why a record would be deleted, but not deleted deleted.