Creo q es mas facil tener un campo extra ( que se llame Status de tipo Bit), entonces cuando quieres borrar un registros, no lo borres en si, si no que al status le cambies a 0(inactivo).
Asi cuando quieres saber cuales estan usuario_num as eliminado (en teoria), solo sera necesario acer un query que te digo los usuario_num Inactivos (0).
Código SQL:
Ver originalSELECT usuario_num FROM Usuarios WHERE [STATUS]=0
Tambien puedes tener otra tabla, donde unicamente tengos los usuario_num que as borrado, es decir; cuando borres un registro de usuario, insertes el usuario_num en la otra tabla. Y cuando regreses el usuario_num (tabla extra), pues lo borras de la tabla Extra.
Exite otra forma de hacerlo pero tardara mas en darte el resulta (el resultado sera en milisegundo o segundos, diras q esto es rapido, pero al poner esto es una empresa o en un proceso los milisegundos cuentas mucho); lo q tienes q acer es un store procedure q recorre la tabla y cuando encuentre un usuario_num q no es consecutivo al anterior lo guarde temporalmente (tabla temporal, se pueden crear tablas en ejecucion de un proceso y al final de este, se elimina la tabla solicta). Pero como dije este ultimo no te lo recomiendo en cuestion de respuesta al cliente.
Espero q te sirva mi comentario