Oracle Limit Rows

Oracle Limit Rows



Ang paglilimita ng hilera ay isang malakas at karaniwang tampok na ipinapatupad ng karamihan sa mga engine ng relational na database. Ang row limiting ay tumutukoy sa bilang ng mga row na maaaring ibalik ng SQL SELECT statement.

Sa karamihan ng mga kaso, ang maximum na bilang ng mga limitasyon ay itinakda ng database engine. Gayunpaman, maaari naming i-override ang halagang ito sa aming query gamit ang iba't ibang mga diskarte. Bago baguhin ang bilang ng mga row na ibinalik ng isang SQL SELECT statement, magandang isaalang-alang ang mga available na mapagkukunan sa iyong system.







Ang row limit ay isang mahalagang feature para sa ilang kadahilanan. Una, nakakatulong itong pigilan ang mga query na magbalik ng labis na dami ng data, na maaaring magamit ang mahahalagang mapagkukunan at magdulot ng ilang isyu sa pagganap.



Pangalawa, makakatulong ito na maiwasan ang mga pag-atake ng SQL injection sa pamamagitan ng paglilimita sa dami ng data na maaaring makuha ng isang attacker mula sa database.



Tatalakayin ng post na ito ang isang maikling format para sa paglilimita sa bilang ng mga tala na ibinalik mula sa isang naibigay na query sa Oracle. Tandaan na walang LIMIT na sugnay sa database ng Oracle tulad ng makikita mo sa iba pang mga database tulad ng MySQL, PostgreSQL, atbp.





Oracle ROWNUM

Para makapagpatupad kami ng sugnay na tulad ng limitasyon, ginagamit namin ang rownum function sa SQL. Ibinabalik ng function na ito ang bilang ng mga row sa isang naibigay na resulta.

Halimbawa ng Paggamit:

Ipagpalagay na mayroon kaming isang talahanayan na naglalaman ng impormasyon ng database tulad ng ipinapakita sa sumusunod na larawan:



Problema:

Ipagpalagay na interesado lamang tayo sa unang limang hanay mula sa talahanayan.

Solusyon:

Maaari kaming gumamit ng query tulad ng ipinapakita sa sumusunod na snippet:

piliin ang * mula sa mga database kung saan ang ROWNUM <= 5;

Sa nakaraang query,  tumukoy kami ng conditional statement na tumitiyak na ang ibinalik na bilang ng mga row ay mas mababa sa o katumbas ng 5. Pinipilit nitong huminto sa lima ang bilang ng mga record mula sa query.

Ang isang halimbawang output ay ang mga sumusunod:

Konklusyon

Ang Oracle ROWNUM function ay isang mahusay na tool upang limitahan ang bilang ng mga row na ibinalik sa isang Oracle SQL query. Magagamit ito sa iba't ibang paraan upang makontrol ang bilang ng mga row na ibinalik ng isang query at tinitiyak na ang pinakanauugnay na data lang ang ibinalik.