بينما حلقة في Oracle بل/SQL مع المثال
⚡ ملخص ذكي
Oracle تُكرر حلقة WHILE في لغة PL/SQL كتلة من التعليمات البرمجية طالما بقي شرطٌ ما صحيحًا. وهي حلقة تحقق من الدخول، حيث تختبر شرط الخروج قبل كل تكرار، لذا قد لا تُنفذ الكتلة صفر مرة، ولا تحتاج إلى كلمة EXIT صريحة.

ما هي حلقة التكرار While في لغة PL/SQL؟
استخدم حائط اللوب في لغة PL/SQL، تعمل هذه الطريقة بشكل مشابه لعبارة الحلقة الأساسية، باستثناء أن شرط الخروج يكون في بداية الحلقة. فهي تعمل كحلقة فحص الدخول، حيث لا يتم تنفيذ كتلة التعليمات البرمجية إلا إذا تحقق الشرط، لأن شرط الخروج يُفحص قبل التنفيذ.
لا يتطلب الأمر صراحةً استخدام الكلمة المفتاحية 'EXIT' للخروج من الحلقة، لأنه يتحقق من الشرط ضمنيًا في كل مرة.
PL/SQL أثناء بناء جملة الحلقة
WHILE <EXIT condition> LOOP <execution block starts> . . . <execution_block_ends> END LOOP;
- تشير الكلمة المفتاحية 'WHILE' إلى بداية الحلقة وتشير 'END LOOP' إلى نهايتها.
- يتم تقييم شرط الخروج في كل مرة قبل أن يبدأ جزء التنفيذ في التنفيذ.
- تحتوي كتلة التنفيذ على جميع التعليمات البرمجية التي يجب تشغيلها.
- يمكن أن يحتوي جزء التنفيذ على أي عبارة قابلة للتنفيذ.
مثال Oracle PL/SQL أثناء الحلقة
في هذا المثال، نقوم بطباعة الأرقام من 1 إلى 5 باستخدام عبارة حلقة WHILE.

DECLARE a NUMBER := 1; BEGIN dbms_output.put_line('Program started'); WHILE (a <= 5) LOOP dbms_output.put_line(a); a:= a+1; END LOOP; dbms_output.put_line('Program completed'); END; /
Code التفسير:
- Code السطر 2: تعريف المتغير 'a' على أنه 'NUMBER' وتهيئته بالقيمة '1'.
- Code السطر 4: طباعة عبارة "بدأ البرنامج".
- Code السطر 5: تشير الكلمة المفتاحية 'WHILE' إلى بداية الحلقة وتتحقق مما إذا كانت قيمة 'a' أقل من أو تساوي 5.
- Code السطر 7: يطبع قيمة "أ".
- Code السطر 8: يزيد قيمة 'a' بمقدار 1.
- Code السطر 9: تشير الكلمة المفتاحية 'END LOOP' إلى نهاية كتلة التنفيذ.
- يستمر تنفيذ السطرين 7 و8 حتى تصل قيمة 'a' إلى 6، وعندها تُرجع الحالة FALSE ويخرج التحكم. حلقة.
- Code السطر 10: طباعة عبارة "تم إكمال البرنامج".
حلقة WHILE مقابل حلقة FOR مقابل الحلقة الأساسية
توفر لغة PL/SQL ثلاثة أنواع من الحلقات، واختيار النوع المناسب يُحافظ على وضوح الكود. تُناسب حلقة WHILE التكرار المشروط، بينما تُناسب الحلقتان الأخريان العدد الثابت أو الخروج المُتحكم به بشكل صريح.
| أنشوطة | معايير الخروج | يُستخدم عند |
|---|---|---|
| حلقة WHILE | يصبح الشرط في الأعلى خاطئًا | عدد التكرارات غير معروف |
| لحلقة | يصل العداد إلى نهاية المدى | عدد التكرارات معروف |
| حلقة أساسية | مخرج صريح في الكتلة | يتم التحكم في المخرج يدويًا |
لأن حلقة WHILE تختبر شرطها في البداية، فقد لا يتم تنفيذ جسمها مطلقًا إذا كان الشرط خاطئًا منذ البداية. هذا هو الفرق الرئيسي بينها وبين الحلقة العادية، التي يتم تنفيذ جسمها دائمًا مرة واحدة على الأقل.
تجنب حلقة التكرار اللانهائية
تعتمد حلقة WHILE كلياً على وصول المتغير المتحكم إلى شرط الخروج. إذا لم يصل إليه، تستمر الحلقة في العمل إلى ما لا نهاية ويتوقف البرنامج. ثلاث عادات تمنع حدوث ذلك:
- قم بتغيير العداد في كل تكرار. يقوم المثال بزيادة قيمة 'a' داخل الحلقة؛ إزالة هذا السطر ستؤدي إلى حلقة لا نهائية.
- اختبر الحدود. تأكد من أن الشرط يمكن أن يصبح خاطئًا بالفعل بالنسبة للقيمة الابتدائية، وليس فقط في الحالة المثالية.
- أضف مخرج أمان عند. بالنسبة لحلقة تعتمد على البيانات، فإن عبارة EXIT WHEN عند الوصول إلى الحد الأقصى لعدد التكرارات تعمل كحماية ضد قيمة غير متوقعة.
عندما يكون عدد التكرارات ثابتًا بالفعل، فإن حلقة FOR تزيل المخاطر تمامًا، لأن عدادها تتم إدارته تلقائيًا.
