Oracle Limit Rows

Oracle Limit Rows



Eilučių ribojimas yra galinga ir įprasta funkcija, kurią įgyvendina dauguma reliacinių duomenų bazių variklių. Eilučių ribojimas reiškia eilučių, kurias gali grąžinti SQL SELECT sakinys, skaičių.

Daugeliu atvejų didžiausią limitų skaičių nustato duomenų bazės variklis. Tačiau mes galime nepaisyti šios reikšmės savo užklausoje naudodami įvairius metodus. Prieš keisdami SQL SELECT sakinio grąžinamų eilučių skaičių, verta apsvarstyti turimus išteklius sistemoje.







Eilučių riba yra vertinga savybė dėl kelių priežasčių. Pirma, tai padeda išvengti, kad užklausos grąžintų per daug duomenų, o tai gali išeikvoti vertingus išteklius ir sukelti tam tikrų našumo problemų.



Antra, tai gali padėti išvengti SQL injekcijos atakų, ribojant duomenų, kuriuos užpuolikas gali išgauti iš duomenų bazės, kiekį.



Šiame įraše bus aptartas trumpas formatas, skirtas apriboti įrašų, grąžinamų iš tam tikros „Oracle“ užklausos, skaičių. Atminkite, kad „Oracle“ duomenų bazėje nėra LIMIT sąlygos, kurią rasite kitose duomenų bazėse, tokiose kaip „MySQL“, „PostgreSQL“ ir kt.





Oracle ROWNUM

Kad galėtume įgyvendinti į ribą panašią sąlygą, SQL naudojame funkciją rownum. Ši funkcija grąžina tam tikro rezultato eilučių skaičių.

Naudojimo pavyzdys:

Tarkime, kad turime lentelę, kurioje yra duomenų bazės informacija, kaip parodyta šiame paveikslėlyje:



Problema:

Tarkime, kad mus domina tik pirmosios penkios lentelės eilutės.

Sprendimas:

Galime naudoti užklausą, kaip parodyta šiame fragmente:

pasirinkite * iš duomenų bazių, kur ROWNUM <= 5;

Ankstesnėje užklausoje apibrėžiame sąlyginį sakinį, kuris užtikrina, kad grąžinamas eilučių skaičius būtų mažesnis arba lygus 5. Dėl to užklausos įrašų skaičius sustoja ties penkiais.

Išvesties pavyzdys yra toks:

Išvada

„Oracle ROWNUM“ funkcija yra galingas įrankis, leidžiantis apriboti „Oracle SQL“ užklausoje pateikiamų eilučių skaičių. Jis gali būti naudojamas įvairiais būdais norint kontroliuoti užklausos grąžinamų eilučių skaičių ir užtikrinti, kad būtų grąžinami tik patys aktualiausi duomenys.