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 lệnh cần lặp * /
BEGIN
{......câu lệnh thực thi khi điều kiện 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.

Bài trước: Lệnh IF...ELSE trong SQL Server

Bài tiếp: Vòng lặp FOR trong SQL Server

Thứ Năm, 22/08/2019 10:34
54 👨 25.269
1 Bình luận
Sắp xếp theo
  • Me Not
    Me Not

    Viết một vòng lặp WHILE để nhập 10 mẫu tin tùy ý vào bảng KHACHANG (MSKH, TENKH, PHAI, DIACHI, DIENTHOAI), với bảng dữ liệu tăng tự động như sau:

    KH001 KhachHang1 Nam xxxx yyyyy

    .....

    KH0010 KhachHang10 Nam xxxx yyyyy


    cho em hỏi câu này làm như nào ạ?

    Thích Phản hồi 12/03/21
    ❖ SQL Server