sql >> Base de Datos >  >> RDS >> Sqlserver

Hacer bucle while en SQL Server 2008

No estoy seguro acerca de DO-WHILE IN MS SQL Server 2008, pero puede cambiar su lógica de bucle WHILE, para USAR como bucle DO-WHILE.

Los ejemplos se toman de aquí:http://blog.sqlauthority.com/2007/10/24/sql-server-simple-example-of-while-loop-with-continue-and-break-keywords/

  1. Ejemplo de bucle WHILE

    DECLARE @intFlag INT
    SET @intFlag = 1
    WHILE (@intFlag <=5)
    BEGIN
        PRINT @intFlag
        SET @intFlag = @intFlag + 1
    END
    GO
    

    Conjunto de resultados:

    1
    2
    3
    4
    5
    
  2. Ejemplo de bucle WHILE con la palabra clave BREAK

    DECLARE @intFlag INT
    SET @intFlag = 1
    WHILE (@intFlag <=5)
    BEGIN
        PRINT @intFlag
        SET @intFlag = @intFlag + 1
        IF @intFlag = 4
            BREAK;
    END
    GO
    

    Conjunto de resultados:

    1
    2
    3
    
  3. Ejemplo de bucle WHILE con palabras clave CONTINUE y BREAK

    DECLARE @intFlag INT
    SET @intFlag = 1
    WHILE (@intFlag <=5)
    BEGIN
        PRINT @intFlag
        SET @intFlag = @intFlag + 1
        CONTINUE;
        IF @intFlag = 4 -- This will never executed
            BREAK;
    END
    GO
    

    Conjunto de resultados:

    1
    2
    3
    4
    5
    

Pero trata de evitar bucles a nivel de base de datos.Referencia.