Vòng lặp FOR trong SQL Server

Vòng lặp trong SQL Server có nhiều kiểu khác nhau, FOR là một trong số đó. Dưới đây là mọi điều bạn cần biết về vòng lặp FOR trong SQL Server.

Vòng lặp FOR thường được sử dụng để chạy lặp đi lặp lại một đoạn mã cho trường hợp biết trước số lần lặp lại. Tuy nhiên trong SQL Server không tồn tại vòng lặp FOR. Mặc dù vậy, bạn vẫn có thể sử dụng vòng lặp WHILE để mô phỏng FOR trong đây. Hãy cùng Quantrimang theo dõi cách sử dụng qua bài viết dưới này.

Sau đây là quy trình hoạt động trong một For Loop -

  • Bước ban đầu được khởi chạy đầu tiên và chỉ một lần. Bước này cho phép bạn khai báo và khởi tạo bất kỳ biến kiểm soát vòng lặp.
  • Tiếp theo, điều kiện, ví dụ: initial_value .. final_value được đánh giá. Nếu đúng hay là TRUE, phần nội dung của vòng lặp sẽ được chạy. Nếu FALSE, phần thân của vòng lặp không được chạy và quy trình điều khiển chuyển sang lệnh tiếp theo, chỉ sau vòng lặp FOR.
  • Sau khi phần nội dung của vòng lặp FOR chạy, giá trị của biến bộ đếm sẽ tăng lên hoặc giảm đi.
  • Điều kiện giờ được đánh giá lại. Nếu là TRUE, vòng lặp chạy và quá trình sẽ tự lặp lại (nội dung của vòng lặp, sau đó là bước tăng dần, rồi tới điều kiện lặp lại). Sau khi điều kiện là FALSE, FOR-LOOP kết thúc.

Sau đây là một số đặc điểm đặc biệt của vòng lặp FOR trong SQL Server:

  • initial_value và final_value của biến vòng lặp và bộ đếm có thể là ký tự, biến hoặc biểu thức nhưng phải ước tính thành số. Nếu không, SQL tăng ngoại lệ được xác định trước VALUE_ERROR.
  • Điều kiện initial_value cần không phải số 1. Tuy nhiên, bộ đếm vòng lặp tăng hoặc giảm phải là 1.

Cú pháp vòng lặp for trong SQL Server

Để mô phỏng vòng lặp FOR trong SQL Server, ta sử dụng cú pháp như sau:

DECLARE @cnt INT = 0;

WHILE @cnt < cnt_total
BEGIN
{...câu lệnh thực thi...}
SET @cnt = @cnt + 1;
END;

Tham số:

  • cnt_total: Số vòng lặp bạn muốn FOR (WHILE) thực thi.
  • câu lệnh thực thi: Các câu lệnh được thực thi mỗi lần đi qua vòng lặp.

Ví dụ về vòng lặp for trong SQL Server

Hãy xem xét một ví dụ về cách mô phỏng vòng lặp FOR trong SQL Server (Transact-SQL) bằng vòng lặp WHILE.

DECLARE @cnt INT = 0;

WHILE @cnt < 10
BEGIN
PRINT 'Vi du mo phong vong lap FOR trong SQL Server cua Quantrimang.com';
SET @cnt = @cnt + 1;
END;

PRINT 'Ket thuc mo phong vong lap FOR cua Quantrimang.com';
GO

Trong ví dụ sử dụng lệnh WHILE này thì vòng lặp sẽ chấm dứt khi @cnt đạt giá trị 10.

Bài trước: Vòng lặp WHILE trong SQL Server

Bài tiếp: Lệnh BREAK (Ngắt điều khiển) trong SQL Server

Thứ Năm, 22/06/2023 16:53
2,911 👨 31.768
0 Bình luận
Sắp xếp theo
    ❖ SQL Server