Oracle Limit Rows

Oracle Limit Rows



Ridade piiramine on võimas ja levinud funktsioon, mida rakendavad enamik relatsiooniandmebaasimootoreid. Reapiirang viitab ridade arvule, mille SQL SELECT-lause saab tagastada.

Enamikul juhtudel määrab maksimaalse piirangute arvu andmebaasimootor. Siiski saame selle väärtuse oma päringus alistada, kasutades erinevaid tehnikaid. Enne SQL SELECT-lause tagastatavate ridade arvu muutmist on hea kaaluda oma süsteemis saadaolevaid ressursse.







Reapiirang on väärtuslik funktsioon mitmel põhjusel. Esiteks aitab see vältida päringute üleliigse andmemahu tagastamist, mis võib kulutada ära väärtuslikud ressursid ja põhjustada jõudlusprobleeme.



Teiseks võib see aidata ära hoida SQL-i süstimisrünnakuid, piirates andmete hulka, mida ründaja saab andmebaasist välja võtta.



See postitus käsitleb lühikest vormingut antud Oracle'i päringust tagastatavate kirjete arvu piiramiseks. Pidage meeles, et Oracle'i andmebaasis ei ole LIMIT-klauslit, nagu leiate teistest andmebaasidest, nagu MySQL, PostgreSQL jne.





Oracle ROWNUM

Limiiditaolise klausli rakendamiseks kasutame SQL-is funktsiooni rownum. See funktsioon tagastab antud tulemuse ridade arvu.

Kasutamise näide:

Oletame, et meil on tabel, mis sisaldab andmebaasi teavet, nagu on näidatud järgmisel pildil:



Probleem:

Oletame, et meid huvitavad ainult tabelist esimesed viis rida.

Lahendus:

Saame kasutada päringut, nagu on näidatud järgmises väljavõttes:

vali * andmebaasidest, kus ROWNUM <= 5;

Eelmises päringus defineerisime tingimuslause, mis tagab, et tagastatav ridade arv on väiksem või võrdne 5-ga. See sunnib päringu kirjete arvu peatuma viiega.

Näidisväljund on järgmine:

Järeldus

Funktsioon Oracle ROWNUM on võimas tööriist Oracle'i SQL-päringus tagastatavate ridade arvu piiramiseks. Seda saab kasutada mitmel viisil päringu poolt tagastatavate ridade arvu kontrollimiseks ja see tagab, et tagastatakse ainult kõige asjakohasemad andmed.