se supone que hacer un procedimiento almacenado tiene el objetivo de generar alguna lógica mas allá de un SQL. Esto lo digo por que no veo un join hacia una variable paramétrica. Pero bueno. Si lo necesitas tal cual lo mas simple podría ser meter todo el SQL en un
Código HTML:
execute inmediate('SQL');
Un temporary table también puede ser una alternativa.
Saludos