Comment utiliser les boucles en TSQL?

En TSQL, je voudrais changer le code suivant à partir utiliser codé en dur dhomes à l'aide d'une boucle d'optimisation. Ma tentative a échoué lors de la tentative d'ajout d'une boucle est également inclus.

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
Vous avez besoin d'une de début et de FIN en vertu de votre temps

OriginalL'auteur user1880670 | 2013-04-02