Du kan bruge:
WHERE ROWNUM <= :NUM
...men tabellen skal indeholde række lig med eller større til grænsen i bind-variablen. Dette link demonstrerer forskellige teknikker til generering af rækkenummer i Oracle .
Brug CONNECT BY
, Oracle 10g+:
SELECT LEVEL
FROM DUAL
CONNECT BY LEVEL <= :NUM
Bekræftet af monojohnny
at bindevariablen kan bruges. Forsøg på at køre på Oracle 9i, dog CONNECT BY
syntaks understøttes, resulterer i en ORA-01436-fejl.
Det eneste, jeg ikke er 100 % på, er, om CONNECT BY accepterer grænsen fra bind-variablen.
Reference: