In TSQL möchte ich den folgenden Code ändern von müssen hart codierte dhomes verwenden, um eine Schleife für die Optimierung zu verwenden. Mein fehlgeschlagener Versuch, eine Schleife hinzuzufügen, ist ebenfalls enthalten.Wie verwendet man Schleifen in 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
Sie brauchen einen BEGIN und END unter Ihrer while –