Potresti usare:
WHERE ROWNUM <= :NUM
...ma la tabella deve contenere una riga uguale o maggiore al limite nella variabile bind. Questo link mostra varie tecniche di generazione del numero di riga in Oracle .
Usando CONNECT BY
, Oracle 10g+:
SELECT LEVEL
FROM DUAL
CONNECT BY LEVEL <= :NUM
Confermato da monojohnny
che la variabile bind può essere utilizzata. Tenta di eseguire su Oracle 9i, tramite CONNECT BY
la sintassi è supportata genera un errore ORA-01436.
L'unica cosa su cui non sono al 100% è se CONNECT BY accetterà il limite dalla variabile bind.
Riferimento: