Du kan använda:
WHERE ROWNUM <= :NUM
...men tabellen måste innehålla rad lika med eller större än gränsen i bindningsvariabeln. Den här länken visar olika tekniker för radnummergenerering i Oracle .
Använder CONNECT BY
, Oracle 10g+:
SELECT LEVEL
FROM DUAL
CONNECT BY LEVEL <= :NUM
Bekräftad av monojohnny
att bindningsvariabeln kan användas. Försöker att köra på Oracle 9i, men CONNECT BY
syntax stöds resulterar i ett ORA-01436-fel.
Det enda jag inte är 100 % på är om CONNECT BY accepterar gränsen från bindningsvariabeln.
Referens: