Sie könnten Folgendes verwenden:
WHERE ROWNUM <= :NUM
...aber die Tabelle muss Zeilen enthalten, die gleich oder größer als das Limit in der Bindevariablen sind. Dieser Link zeigt verschiedene Techniken zur Generierung von Zeilennummern in Oracle .
Mit CONNECT BY
, Oracle 10g+:
SELECT LEVEL
FROM DUAL
CONNECT BY LEVEL <= :NUM
Bestätigt durch monojohnny
dass die Bindevariable verwendet werden kann. Versucht, auf Oracle 9i ausgeführt zu werden, obwohl CONNECT BY
Syntax unterstützt wird, führt zu einem ORA-01436-Fehler.
Das einzige, bei dem ich nicht 100% bin, ist, ob CONNECT BY das Limit von der Bind-Variablen akzeptiert.
Referenz: