天天看點

sql 嵌套while需要注意的問題

DECLARE @i INT ,@j INT

SET @i=1

set @j=1

WHILE @i<4

    BEGIN

        PRINT 'satrt  i:'+CAST(@i AS varchar)

    WHILE @j<4

        BEGIN

            PRINT 'j:'+CAST(@j AS varchar)

            SET @j=@j+1

        END

    set @j=1

    set @i=@i+1

    END 

 你第一次的J是1,然後循環之後就是3+1=4,這個時候的結果已經不能滿足你的WHIle條件了,是以你需要重新對J進行一次初始化。

主要是

for(int i=0;i<4;i++)

{

    For(int j=0;j<4;j++)

    {

    }

}

輸出結果:

satrt  i:1

j:1

j:2

j:3

satrt  i:2

satrt  i:3