ลูป WHILE (WHILE LOOP) ใช้เมื่อต้องการรันโค้ดซ้ำๆ เมื่อเงื่อนไขที่ให้มาคืนค่า TRUE บทความนี้จะอธิบายรายละเอียดพร้อมไวยากรณ์และตัวอย่างชัดเจน
ไวยากรณ์
การใช้งานลูป WHILE ใน SQL Server มีรูปแบบดังนี้:
WHILE dieukien /* คำสั่งที่จะทำซ้ำ */
BEGIN
{. คำสั่งดำเนินการเมื่อเงื่อนไขเป็น TRUE .}
END;
หมายเหตุ:
- ใช้คำสั่งลูป WHILE เมื่อคุณไม่แน่ใจว่าต้องการดำเนินการกี่ครั้ง
- เนื่องจากเงื่อนไข WHILE ถูกประเมินก่อนเข้าลูป ลูปอาจไม่ทำงานแม้ครั้งเดียว (เมื่อ dieukien เป็น FALSE ลูปจะจบทันที)
- ดูคำสั่ง BREAK เพื่อออกจากลูป WHILE ล่วงหน้า
- ดูเพิ่มเติมคำสั่ง CONTINUE เพื่อเริ่มลูป WHILE ใหม่จากจุดเริ่มต้น
แผนภาพลูป WHILE

ตัวอย่างการใช้งาน
DECLARE @Number INT = 1;
DECLARE @Total INT = 0;
WHILE @Number <= 10
BEGIN
SET @Total = @Total + @Number;
SET @Number = @Number + 1;
END
PRINT @Total;
GO
ในตัวอย่างนี้ ลูปจะไม่ทำงานแม้ครั้งเดียวหากตั้งแต่ต้น @Number > 10 ลูปจะทำงานและดำเนินต่อเมื่อตัวแปร <= 10 เมื่อเงื่อนไขเกิน (> 10) ลูปจะจบและดำเนินการคำสั่งถัดไป