Oracle Limit Rows

Oracle Limit Rows



הגבלת שורות היא תכונה רבת עוצמה ונפוצה המיושמת על ידי רוב מנועי מסד הנתונים היחסיים. הגבלת שורות מתייחסת למספר השורות שמשפט SQL SELECT יכול להחזיר.

ברוב המקרים, המספר המרבי של גבולות נקבע על ידי מנוע מסד הנתונים. עם זאת, אנו יכולים לעקוף ערך זה בשאילתה שלנו באמצעות טכניקות שונות. לפני שינוי מספר השורות המוחזרות על ידי משפט SQL SELECT, כדאי לשקול את המשאבים הזמינים במערכת שלך.







מגבלת השורות היא תכונה חשובה מכמה סיבות. ראשית, זה עוזר למנוע מהשאילתות להחזיר כמות מוגזמת של נתונים, מה שעלול להשתמש במשאבים יקרי הערך ולגרום לבעיות ביצועים מסוימות.



שנית, זה יכול לסייע במניעת התקפות הזרקת SQL על ידי הגבלת כמות הנתונים שתוקף יכול לחלץ ממסד הנתונים.



פוסט זה ידון בפורמט קצר להגבלת מספר הרשומות המוחזרות משאילתת אורקל נתונה. זכור שאין סעיף LIMIT במסד הנתונים של Oracle כפי שתמצא במסדי נתונים אחרים כגון MySQL, PostgreSQL וכו'.





אורקל ROWNUM

כדי שנוכל ליישם סעיף דמוי מגבלה, אנו משתמשים בפונקציית rownum ב-SQL. פונקציה זו מחזירה את מספר השורות בתוצאה נתונה.

שימוש לדוגמה:

נניח שיש לנו טבלה המכילה את מידע מסד הנתונים כפי שמוצג בתמונה הבאה:



בְּעָיָה:

נניח שאנו מתעניינים רק בחמש השורות הראשונות מהטבלה.

פִּתָרוֹן:

אנו יכולים להשתמש בשאילתה כפי שמוצג בקטע הבא:

בחר * מתוך מסדי נתונים שבהם ROWNUM <= 5;

בשאילתה הקודמת, אנחנו מגדירים משפט מותנה שמבטיח שמספר השורות המוחזר קטן או שווה ל-5. זה מאלץ את מספר הרשומות מהשאילתה להיעצר בחמש.

פלט לדוגמה הוא כדלקמן:

סיכום

הפונקציה Oracle ROWNUM היא כלי רב עוצמה להגבלת מספר השורות המוחזרות בשאילתת Oracle SQL. ניתן להשתמש בו בדרכים שונות כדי לשלוט על מספר השורות המוחזרות על ידי שאילתה ומבטיחה שרק הנתונים הרלוונטיים ביותר יוחזרו.