לולאות PL/SQL

Lwl Wt Pl Sql



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

כמו כל שפות התכנות העיקריות, PL/SQL תומכת בלולאות המאפשרות לחזור על סט של הוראות עד לעמידה בתנאי מסוים.

במדריך זה, נחקור את השימוש במשפט LOOP ב-PL/SQL כדי לבצע שוב ושוב בלוק קוד.







לולאות אורקל

שפת PL/SQL תומכת במבני הלולאה השונים כגון לולאות 'for' ו-'while'. אנו יכולים לבטא את התחביר של לולאה גנרית ב-Oracle כפי שמוצג בקטע הבא:



<< תווית >> לוּלָאָה
loop_statement;
END LOOP loop_label;

זה מכיל את מילת המפתח LOOP ואת גוף הלולאה לביצוע והוא מוקף עם מילת המפתח END LOOP.



בלוק LOOP מריץ את הפעולות שהוגדרו ומחזיר את הפקד לסעיף הלולאה העליון לאחר השלמתו. זה בדרך כלל מוקף בסעיף EXIT או EXIT WHEN כדי לסיים את הלולאה לאחר עמידה בתנאי מסוים. זה עוזר למנוע את הלולאות האינסופיות.





תחביר Oracle For Loop:

הבא מציג את התחביר של לולאת 'for' ב-PL/SQL:

התחל
FOR loop_variable IN [lower_bound..upper_bound] LOOP
-- קוד שיבוצע בלולאה
END LOOP;
סוֹף;

ה-loop_variable מאפשר לך להגדיר לולאה המשמשת לשליטה בלולאה ובגבול התחתון והעליון. הגבול העליון והתחתון מציינים את ערכי הטווח שבהם מתרחשת הערכת הלולאה.



Oracle While Loops

אנו יכולים גם להגדיר את לולאות ה'תוך כדי' ב-PL/SQL כפי שמודגם על ידי התחביר הבא:

התחל
מצב WHILE LOOP
-- פעולת לולאה
END LOOP;
סוֹף;

בלולאת 'while', פעולת הלולאה מבוצעת שוב ושוב בזמן שהתנאי נכון.

Oracle Cursor For Loops

אורקל תומכת גם בלולאות 'הסמן עבור' המאפשרות לנו לבצע סט הוראות עבור כל שורה בערכת תוצאות נתונה. ניתן לבטא את התחביר באופן הבא:

התחל
FOR loop_variable IN (בחר עמודה1, עמודה2, ...
משולחן 1, טבלה 2, ...
מצב WHERE) לולאה
-- פעולת לולאה
END LOOP;
סוֹף;

לולאות לדוגמה באורקל

הדוגמאות הבאות מכסות את היסודות של עבודה עם for, while ועבור לולאות סמן ב-Oracle.

דוגמה ל-Oracle For Loop:

דוגמה זו מדגימה כיצד להשתמש בלולאה 'עבור' כדי להדפיס את המספרים מ-1 עד 10.

התחל
FOR i IN 1..10 לולאה
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
סוֹף;

דוגמה ללולאת בעוד:

אנו יכולים לבצע פעולה דומה באמצעות לולאת while כפי שמוצג להלן:

התחל
לְהַכרִיז
i NUMBER := 1;
התחל
WHILE i <= 10 לולאה
DBMS_OUTPUT.PUT_LINE(i);
i := i + 1;
END LOOP;
סוֹף;
סוֹף;

זה אמור לבצע פעולה דומה ללולאת 'for'.

דוגמה לסמן ללולאה:

להלן מראה כיצד להשתמש בלולאת 'הסמן עבור' כדי לקבל את שמו המלא של לקוח:

התחל
FOR עובד IN (SELECT first_name, last_name
מעובדים) LOOP
DBMS_OUTPUT.PUT_LINE(employee.first_name || ' ' || עובד.שם_שם);
END LOOP;
סוֹף;

פלט לדוגמה:

סיכום

בפוסט זה, נתקלת בשלושה סוגים עיקריים של לולאות בשפת Oracle PL/SQL. אתה יכול לבדוק את התיעוד כדי לחקור עוד.