why so complicated?

1) create backup_table as select * from source_table

2) truncate source_table

and, with the given information, I would say that any thing else would be nonsense