Oracle "számsorozat"

Abban kérem a segítségeteket, hogy hogyan lehet Oracle-ben olyan lekérdezést előállítani, amiben a számok szerepelnek egy megadott értékig? (Ezt az értéket egy másik lekérdezésből kapom meg.)
Tehát pl megkapom, egy lekérdezéssel, hogy 4, akkor egy olyan lekérdezést szeretnék utána, amiben a rekordok rendre: 1, 2, 3, 4.
(Ha lehet, PL/SQL nélkül, egy szál lekérdezéssel szeretném.)

Előre is köszönöm!

Hozzászólások

Egy ilyet szeretnél?


S ELECT * FROM komplextabla
W HERE rowid <= (
             S ELECT szam FROM szamtabla
             W HERE akarmilyenadat = 'janika'
                )

A ROWID egy pszeudooszlop a sok közül, ami a táblában az adat BEÉRKEZÉSE szerint szigorúan monotonan nő és sűrű egyész számhalmaz.
Cserébe az Oracle nem garantálja, hogy a rowid mindíg így fog működni :)
Pszeudooszlopokkal kapcsolatban hasznos lehet ez a link
--
God bless IQ

Vazze! Miert forbidden, ha sql-t akarok kuldeni? Ezert volt az elottem szolonak is vagdosva?

Nem valami szép megoldás, de azt adja, amit akarsz:

> se lect rownum from nagytabla wh ere rownum <= (se lect 4 from dual);

ROWNUM
----------
1
2
3
4

Nem tudom, mire akarod felhasznalni, de en pl/sql-t hasznalnek, ahhoz legalabb nem kell tabla.

1 de clare
2 sz amok varchar(32767);
3 be gin
4 fo r i in 1 .. 4 loop
5 sz amok := szamok || i || ', ';
6 en d loop;
7 db ms_output.put_line( szamok);
8* en d;
SQL> /
1, 2, 3, 4,

G

Jah hogy az sql miatt nem tudok hozzászólni én sem :S:S:S

Szóval Gee megoldása az ami nekem kellene, én így csináltam meg:


SQL> C REATE TABLE tt ( mm NUMBER );

Table created.

SQL> BEGIN 
  2     FOR i IN 1..100 LOOP
  3             I NSERT INTO tt VALUES ( i );
  4     END LOOP;
  5  END;
  6  .
SQL> /

PL/SQL procedure successfully completed.

SQL> S ELECT mm FROM tt W HERE mm <= (S ELECT 4 FROM DUAL);

        MM
----------
         1
         2
         3
         4

SQL> 

Csakhát ez sem túl szép megoldás, meg az sem szerintem, ha egy nagy tábla ROWID-jét v ROWNUM-ját használom. Jelenleg PL/SQL-t írtam rá én is, de ha lenne rá valami szebb, elegánsabb megoldás, ami egy lekérdezésben megvalósítható, annak örülnék igazán.
Szóval a fenti eredményre lenne szükségem, csak valami szép megoldással:)

Feri

Először is kösz, hogy írtatok! :)
Másodszor: oké, bocs, tényleg a lekérdezésé a ROWNUM, figyelmetlen voltam.
Harmadszor: gondoltam mielőtt a forums.oracle.com-ra írok, előbb megkérdezem itt :)

Kösz mégegyszer!
F.