Microsoft SQL Server
WHILE boucle
Recherche…
Remarques
L'utilisation d'une boucle WHILE
ou d'un autre processus itératif n'est généralement pas le moyen le plus efficace de traiter des données dans SQL Server.
Vous devriez préférer utiliser une requête basée sur un ensemble sur les données pour obtenir les mêmes résultats, si possible
Utiliser la boucle While
La boucle WHILE
peut être utilisée comme alternative aux CURSORS
. L'exemple suivant imprimera les nombres de 0 à 99.
DECLARE @i int = 0;
WHILE(@i < 100)
BEGIN
PRINT @i;
SET @i = @i+1
END
Pendant la boucle avec l'utilisation de la fonction d'agrégat min
DECLARE @ID AS INT;
SET @ID = (SELECT MIN(ID) from TABLE);
WHILE @ID IS NOT NULL
BEGIN
PRINT @ID;
SET @ID = (SELECT MIN(ID) FROM TABLE WHERE ID > @ID);
END
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow