No puedes hacer operaciones DML (DELETE/INSERT/UPDATE) contra la misma tabla que dispara el TRIGGER, tan sencillo como eso. Y además, un TRIGGER es una tarea cerrada que no se puede invocar, y que no devuelve datos, por lo que ese SELECT final no tiene cabida en él.
Todo el proceso que estás intentando hacer es completamente ineficiente y un destructor de perfomance, si lo haces en un TRIGGER. Lo que propones tiene más sentido en un stored procedure.
Estás perdiendo la perspectiva de que
un TRIGGER es una rutina que se ejecuta una vez por cada ejecución del evento que lo dispara. y en tu caso eso quiere decir que por cada vez que se haga un UPDATE en un registro de esa tabla quieres que:
1) Se vuelque el contenido completo de la tabla en otra.
2) Borrar toda la tabla del trigger.
3) Insertar dos valores inexistentes (porque no están definidos en el cuerpo del trigger) dentro de la tabla, nuevamente.
4) Realizar una consulta con SELECT a la misma tabla (que no se puede tomar, porque un TRIGGER no devuelve datos).
Todo esto, según tu, se debería ejecutar
cada vez que un registro de esa tabla sea actualizado...
¿Le encuentras algún sentido?
No. Lo que propones no tiene sentido.
Empeiza por el principio y explica qué es lo que se supone que debe hacerse cuando se hace un UPDATE a la tabla y para qué.