วนรอบ (WHILE LOOP) ใช้หากคุณต้องการเรียกใช้โค้ดซ้ำๆ เมื่อเงื่อนไขที่กำหนดส่งคืน TRUE บทความนี้จะอธิบายโดยละเอียดถึงวิธีใช้งานด้วยรูปแบบและตัวอย่างที่ชัดเจน เพื่อให้ง่ายต่อการจินตนาการถึง WHILE ใน SQL Server
ไวยากรณ์
หากต้องการใช้ WHILE loop ใน SQL Server เราใช้ไวยากรณ์ดังต่อไปนี้:
WHILE dieukien / * commands to repeat * /
BEGIN
{. execute command when condition is TRUE .}
END;
หมายเหตุ:
- ใช้คำสั่ง WHILE loop เมื่อคุณไม่แน่ใจถึงจำนวนครั้งที่คุณต้องการดำเนินการ
- เนื่องจากการประเมินเงื่อนไข WHILE ก่อนเข้าสู่ลูป การวนซ้ำอาจไม่ทำงานเพียงครั้งเดียว (เมื่อ dieukien เป็น FALSE การวนซ้ำจะสิ้นสุดทันที)
- ดูคำสั่ง BREAK เพื่อออกจาก WHILE loop เร็วๆ นี้
- ดูคำสั่ง CONTINUE เพื่อเริ่มลูป WHILE ใหม่ตั้งแต่ต้น
แผนภูมิขณะวนซ้ำ
ตัวอย่าง
DECLARE @Number INT = 1;
DECLARE @Total INT = 0;
@Number WHILE <= 10
BEGIN
SET @Total = @Total + @Number;
SET @Number = @Number + 1;
END
PRINT @Total;
GO
ในตัวอย่างนี้ การวนซ้ำจะไม่ทำงานใดๆ หากอยู่ที่จุดเริ่มต้นของ @Number> 10 จะดำเนินการและคงไว้เมื่อตัวแปร <=10 เท่านั้น เมื่อเกินเงื่อนไข (> 10) ลูปจะสิ้นสุด End และดำเนินการคำสั่งถัดไปต่อไป