Vòng lặp WHILE trong SQL Server

Vòng lặp WHILE (WHILE LOOP) được sử dụng nếu bạn muốn chạy lặp đi lặp lại một đoạn mã khi điều kiện cho trước trả về giá trị là TRUE. Bài viết sẽ hướng dẫn chi tiết cách sử dụng cùng với cú pháp và ví dụ rõ ràng để bạn dễ dàng hình dung hơn về WHILE trong SQL Server.

Cú pháp

Để sử dụng vòng lặp WHILE trong SQL Server, ta sử dụng cú pháp như dưới đây:

WHILE dieukien / * các lnh cn lp * /
BEGIN
 {......câu lnh thc thi khi điu kin là TRUE......}
END;

Ghi chú:

  • Sử dụng câu lệnh vòng lặp WHILE khi bạn không chắc chắn về số lần bạn muốn thực thi.
  • Vì điều kiện WHILE được đánh giá trước khi vào vòng lặp nên vòng lặp có thể không thực hiện được lần nào (khi dieukien là FALSE thì vòng lặp sẽ kết thúc ngay lập tức).
  • Xem thêm câu lệnh BREAK để thoát khỏi vòng lặp WHILE sớm.
  • Xem thêm câu lệnh CONTINUE để khởi động lại vòng lặp WHILE từ đầu.

Biểu đồ vòng lặp WHILE

Ví dụ

DECLARE @Number INT = 1 ;
DECLARE @Total INT = 0 ;
 
WHILE @Number < = 10
BEGIN
 SET @Total = @Total + @Number;
 SET @Number = @Number + 1 ;
END

PRINT @Total;

GO

Trong ví dụ này, vòng lặp sẽ không thực hiện lần nào nếu ngay từ đầu @Number > 10, nó chỉ thực hiện và duy trì khi biến < = 10. Đến khi vượt quá điều kiện (> 10), vòng lặp sẽ kết thúc và tiếp tục thực thi các câu lệnh tiếp theo.