In the archiving situation, I think that it is missing a transaction (or else you risk losing log events, between the insert into the archive and the truncate).
I don't agree that it is a one time solution, because you normally archive by year, so every year you create a new table (if it's only for archiving, it's more manageable).
André Cardoso