Phát biểu WHILE trong SP
WHILE được dùng nhiều trong kiểu dữ liệu CURSOR. Thông thường WHILE thường sử dụng để duyệt từ mẫu tin đầu tiên đến mẫu tin cuối cùng hoặc ngược lại.
WHILE
BEGIN
[CONTINUE] [BREAK]
END
Ví dụ: Tạo thủ tục tính tổng S = 1 + 3 + 5 +… + (2N-1)
Create Proc TongLe ( @N int )
AS
DECLARE @I int, @S int
SET @I = 1
SET @S = 0
WHILE @I <= 2*@N -1
BEGIN
--WAITFOR DELAY '00:00:00.001'
Set @S = @S + @I
Set @I = @I + 1
END
Return @S
Gọi thực hiện:
declare @s int
Exec @s = tongle 3
print ‘Tong la : ‘ + @s
Phát biểu WAITFOR : WAITFOR DELAY <’time’> | TIME <’time’>
Khi sử dụng WHILE, có thể dùng thêm lệnh WAITFOR với thời gian cho trước.
Tham số DELAY dùng chỉ thị khoảng thời gian chờ nhất định. Thời gian tính bằng 'h:m:s', lớn nhất là 24 giờ
Tham số TIME: chỉ thị hệ thống chờ cho đến thời gian được chỉ định