si fuera oracle. fuera super facil es como dicen oracle hace de todo excepto parquearte el caro.
pues yo creo que no puedes pasar tan alegremente una variable a un FROM.
mira este ejemplo puesto en la documentacion
USE test;
CREATE TABLE t1 (a INT NOT NULL);
INSERT INTO t1 VALUES (4), (8), (11), (32), (80);
SET @table = 't1';
SET @s = CONCAT('SELECT * FROM ', @table);
PREPARE stmt3 FROM @s;
EXECUTE stmt3;
DEALLOCATE PREPARE stmt3;
si notas primero se prepara el string del select y luego se manda a ejecutar. en la misma documentacion dice que no puedes usar cursores porque no estan soportados para este tipo de operacion. punto para oracle.
asi que tendrias que hacer 2 procedures uno con un cursor que tenga el select de la primera tabla y se lo pase como parametro al segundo procedure. y si lo que quieres es tener la data para despues analizarla puedes crear una tabla para insertar: nombre_tabla, count_tabla.
suerte!... sino has huelga y di que oracle es lo maximo!