sql >> Database teknologi >  >> RDS >> Sqlserver

Gør mens loop i SQL Server 2008

Jeg er ikke sikker på DO-WHILE i MS SQL Server 2008, men du kan ændre din WHILE-løkkelogik, så du kan bruge som DO-WHILE-løkke.

Eksempler er taget herfra:http://blog.sqlauthority.com/2007/10/24/sql-server-simple-example-of-while-loop-with-continue-and-break-keywords/

  1. Eksempel på WHILE Loop

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

    Resultatsæt:

    1
    2
    3
    4
    5
    
  2. Eksempel på WHILE-løkke med BREAK-søgeord

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

    Resultatsæt:

    1
    2
    3
    
  3. Eksempel på WHILE-løkke med CONTINUE og BREAK søgeord

    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
    

    Resultatsæt:

    1
    2
    3
    4
    5
    

Men prøv at undgå sløjfer på databaseniveau.Reference.



  1. Hvordan kan jeg VÆLGE flere kolonner i en CASE WHEN på SQL Server?

  2. Hvordan indsætter man pandas dataramme via mysqldb i databasen?

  3. SQL Server 2008 Windows Auth Login Fejl:Login er fra et domæne, der ikke er tillid til

  4. For en nybegynder er der stor forskel mellem MySQL og PostgreSQL