Trong TSQL, tôi muốn thay đổi mã sau đây từ phải sử dụng các tập tin được mã hóa cứng để sử dụng vòng lặp để tối ưu hóa. Nỗ lực thất bại của tôi khi cố thêm một vòng lặp cũng được bao gồm.Làm thế nào để sử dụng vòng lặp trong TSQL?
Declare @dhome Tinyint, @bp smallint, @lr smallint, @q smallint
// Set @dhome = 1
While(@dhome <= 3) // My attempt to add a loop
SELECT @lr = MAX(NQdDate), @q = NQd
FROM NQdHistory
WHERE dhomeId = @dhome
GROUP BY NQdDate, NQd
SELECT @bd = COUNT(*)
FROM bdhome
WHERE NQdDate= @lr AND dhomeID= @dhome
DELETE FROM ND1 WITH(XLOCK)
WHERE dhomeID= @dhome AND NQdDate= @lr
UPDATE NQdHistory
SET Nbd = @q - @@RowCount - @bp, NBd = @bp
WHERE NQdDate= @lr AND dhomeID= @dhome
Set @dhome = @dhome +1 //My attempt to end a loop
Bạn cần một BEGIN và END trong thời gian của mình –