Oracle Limit Rows

Oracle Limit Rows



Rindu ierobežošana ir spēcīgs un izplatīts līdzeklis, ko ievieš lielākā daļa relāciju datu bāzes dzinēju. Rindu ierobežojums attiecas uz rindu skaitu, ko var atgriezt SQL SELECT priekšraksts.

Vairumā gadījumu maksimālo ierobežojumu skaitu nosaka datu bāzes dzinējs. Tomēr mēs varam ignorēt šo vērtību mūsu vaicājumā, izmantojot dažādas metodes. Pirms mainīt rindu skaitu, kuras atgriež SQL SELECT priekšraksts, ir labi apsvērt sistēmā pieejamos resursus.







Rindu ierobežojums ir vērtīga funkcija vairāku iemeslu dēļ. Pirmkārt, tas palīdz novērst to, ka vaicājumi atgriež pārmērīgu datu apjomu, kas var iztērēt vērtīgos resursus un radīt dažas veiktspējas problēmas.



Otrkārt, tas var palīdzēt novērst SQL injekcijas uzbrukumus, ierobežojot datu apjomu, ko uzbrucējs var iegūt no datu bāzes.



Šajā rakstā tiks apspriests īss formāts, lai ierobežotu ierakstu skaitu, kas tiek atgriezti no noteiktā Oracle vaicājuma. Atcerieties, ka Oracle datu bāzē nav LIMIT klauzulas, kā tas ir citās datu bāzēs, piemēram, MySQL, PostgreSQL utt.





Oracle ROWNUM

Lai ieviestu ierobežojumam līdzīgu klauzulu, mēs izmantojam rownum funkciju SQL. Šī funkcija atgriež noteiktā rezultāta rindu skaitu.

Lietošanas piemērs:

Pieņemsim, ka mums ir tabula, kurā ir datu bāzes informācija, kā parādīts nākamajā attēlā:



Problēma:

Pieņemsim, ka mūs interesē tikai pirmās piecas tabulas rindas.

Risinājums:

Mēs varam izmantot vaicājumu, kā parādīts šajā fragmentā:

izvēlieties * no datu bāzēm, kur ROWNUM <= 5;

Iepriekšējā vaicājumā mēs definējām nosacījuma priekšrakstu, kas nodrošina, ka atgrieztais rindu skaits ir mazāks vai vienāds ar 5. Tādējādi vaicājuma ierakstu skaits tiek apturēts pie pieciem.

Izvades piemērs ir šāds:

Secinājums

Oracle ROWNUM funkcija ir jaudīgs rīks, lai ierobežotu Oracle SQL vaicājumā atgriezto rindu skaitu. To var izmantot dažādos veidos, lai kontrolētu vaicājuma atgriezto rindu skaitu un nodrošinātu, ka tiek atgriezti tikai visatbilstošākie dati.