Radbegrensning er en kraftig og vanlig funksjon som implementeres av de fleste relasjonsdatabasemotorer. Radbegrensning refererer til antall rader som en SQL SELECT-setning kan returnere.
I de fleste tilfeller er det maksimale antallet grenser satt av databasemotoren. Vi kan imidlertid overstyre denne verdien i søket vårt ved å bruke ulike teknikker. Før du endrer antall rader som returneres av en SQL SELECT-setning, er det greit å vurdere de tilgjengelige ressursene i systemet ditt.
Radgrensen er en verdifull funksjon av flere grunner. For det første hjelper det å forhindre at spørringene returnerer en overdreven mengde data, noe som kan bruke opp de verdifulle ressursene og forårsake noen ytelsesproblemer.
For det andre kan det bidra til å forhindre SQL-injeksjonsangrep ved å begrense mengden data som en angriper kan trekke ut fra databasen.
Dette innlegget vil diskutere et kort format for å begrense antall poster som returneres fra en gitt Oracle-spørring. Husk at det ikke er noen LIMIT-klausul i Oracle-databasen som du finner i andre databaser som MySQL, PostgreSQL, etc.
Oracle ROWNUM
For at vi skal implementere en grense-lignende klausul, bruker vi rownum-funksjonen i SQL. Denne funksjonen returnerer antall rader i et gitt resultat.
Eksempelbruk:
Anta at vi har en tabell som inneholder databaseinformasjonen som vist i følgende bilde:
Problem:
Anta at vi bare er interessert i de første fem radene fra tabellen.
Løsning:
Vi kan bruke et søk som vist i følgende utdrag:
velg * fra databaser der ROWNUM <= 5;I forrige spørring definerer vi en betinget setning som sikrer at det returnerte antallet rader er mindre enn eller lik 5. Dette tvinger antallet poster fra spørringen til å stoppe ved fem.
Et eksempelutgang er som følger:
Konklusjon
Oracle ROWNUM-funksjonen er et kraftig verktøy for å begrense antall rader som returneres i en Oracle SQL-spørring. Den kan brukes på ulike måter for å kontrollere antall rader som returneres av en spørring og sikrer at kun de mest relevante dataene returneres.