Vous pouvez utiliser :
WHERE ROWNUM <= :NUM
... mais la table doit contenir une ligne égale ou supérieure à la limite dans la variable de liaison. Ce lien présente diverses techniques de génération de numéros de ligne dans Oracle .
Utilisation de CONNECT BY
, Oracle 10g+ :
SELECT LEVEL
FROM DUAL
CONNECT BY LEVEL <= :NUM
Confirmé par monojohnny
que la variable de liaison peut être utilisée. Tente de s'exécuter sur Oracle 9i, bien que CONNECT BY
syntaxe est prise en charge entraîne une erreur ORA-01436.
La seule chose sur laquelle je ne suis pas à 100 % est de savoir si CONNECT BY acceptera la limite de la variable de liaison.
Référence :