Podrías usar:
WHERE ROWNUM <= :NUM
... pero la tabla debe contener una fila igual o superior al límite en la variable de vinculación. Este enlace demuestra varias técnicas de generación de números de fila en Oracle .
Usando CONNECT BY
, Oracle 10g+:
SELECT LEVEL
FROM DUAL
CONNECT BY LEVEL <= :NUM
Confirmado por monojohnny
que se puede utilizar la variable bind. Intenta ejecutarse en Oracle 9i, aunque CONNECT BY
la sintaxis es compatible da como resultado un error ORA-01436.
Lo único en lo que no estoy al 100 % es si CONNECT BY aceptará el límite de la variable de vinculación.
Referencia: