ในขณะที่วนลูปเข้า Oracle PL/SQL พร้อมตัวอย่าง
PL/SQL While Loop คืออะไร
ในขณะที่วนซ้ำ ใน PL/SQL ทำงานคล้ายกับคำสั่งลูปพื้นฐาน ยกเว้นเงื่อนไข EXIT อยู่ที่จุดเริ่มต้นของลูป มันทำงานเหมือนกับลูปการตรวจสอบรายการ โดยที่บล็อกการดำเนินการจะดำเนินการก็ต่อเมื่อตรงตามเงื่อนไขเท่านั้น เนื่องจากเงื่อนไขการออกจะถูกตรวจสอบก่อนดำเนินการ
ไม่จำเป็นต้องมีคีย์เวิร์ด 'EXIT' อย่างชัดเจนเพื่อออกจากลูป เนื่องจากจะตรวจสอบเงื่อนไขโดยปริยายในแต่ละครั้ง
PL/SQL ในขณะที่ไวยากรณ์วนซ้ำ
WHILE <EXIT condition> LOOP <execution block starts> . . . <execution_block_ends> END LOOP;
- ในรูปแบบข้างต้น คำหลัก 'WHILE' ทำเครื่องหมายจุดเริ่มต้นของลูป และ 'END LOOP' ทำเครื่องหมายจุดสิ้นสุดของลูป
- เงื่อนไข EXIT จะได้รับการประเมินทุกครั้งก่อนที่ส่วนการดำเนินการจะเริ่มดำเนินการ
- บล็อกการดำเนินการประกอบด้วยโค้ดทั้งหมดที่ต้องดำเนินการ
- ส่วนการดำเนินการสามารถประกอบด้วยคำสั่งการดำเนินการใดๆ
ตัวอย่างของการ Oracle PL/SQL ในขณะที่วนซ้ำ
ในตัวอย่างนี้ เราจะพิมพ์ตัวเลขตั้งแต่ 1 ถึง 5 โดยใช้คำสั่ง WHILE loop โดยเราจะรันโค้ดต่อไปนี้:
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: /
คำอธิบายรหัส:
- รหัสบรรทัดที่ 2: ประกาศตัวแปร 'a' เป็นประเภทข้อมูล 'NUMBER' และเริ่มต้นด้วยค่า '1'
- รหัสบรรทัดที่ 4: พิมพ์ข้อความ “Program beginning”
- รหัสบรรทัด 5: คำหลัก 'WHILE' ถือเป็นจุดเริ่มต้นของการวนซ้ำ และยังตรวจสอบว่าค่าของ 'a' น้อยกว่าหรือเท่ากับ 5 หรือไม่
- รหัสบรรทัด 7: พิมพ์ค่าของ 'a'
- รหัสบรรทัด 8: เพิ่มค่าของ 'a' ขึ้น +1
- รหัสบรรทัด 9: คำหลัก 'END LOOP' ถือเป็นจุดสิ้นสุดของบล็อกการดำเนินการ
- รหัสจากบรรทัด 7 และบรรทัด 8 จะดำเนินการต่อไปจนกว่า 'a' ถึงค่า 6 เนื่องจากเงื่อนไขจะคืนค่า TRUE และตัวควบคุมจะออกจาก ห่วง.
- รหัสบรรทัด 10: พิมพ์ข้อความ “โปรแกรมเสร็จสมบูรณ์”
สรุป
ห่วง | ในขณะที่วนซ้ำ |
---|---|
เกณฑ์การออก | ออกเมื่อเงื่อนไขการตรวจสอบส่งกลับค่าเท็จ |
การใช้ | เหมาะสำหรับใช้เมื่อไม่ทราบจำนวนลูป และการออกจะขึ้นอยู่กับเงื่อนไขอื่นๆ |