SQL中这个嵌套的WHILE循环有什么问题

edo*_*oft 19 sql t-sql

今天我遇到了一些奇怪的情况做了一些一次性的sql代码.这个嵌套循环似乎不运行外部循环:它打印(0,0),(0,1),(0,2)和(0,3)

declare @i int, @j int
select @i = 0, @j = 0
while @i < 3 begin
    while @j < 3 begin
        select @i as i, @j as j
        set @j = @j + 1
    end
    set @i = @i + 1
end
Run Code Online (Sandbox Code Playgroud)

我错过了一些明显的东西吗?

alm*_*ori 36

您没有为下一次迭代重置j var

 set @i = @i + 1
 set @j = 0
Run Code Online (Sandbox Code Playgroud)

  • 卫生署!说到明显! (4认同)
  • 七年后,我又经历了同样的时刻 (4认同)
  • @dkwarr87 已经过去 11 年了,我仍在保持这一传统 (4认同)

ozc*_*cho 5

你没有重置@j.