首页 新闻 会员 周边

sql 嵌套while

0
悬赏园豆:5 [已解决问题] 解决于 2012-07-20 16:49

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 @i=@i+1
END
 
sql 嵌套while?
 
为什么第二次不执行了

window5549-accp的主页 window5549-accp | 初学一级 | 园豆:117
提问于:2012-07-20 12:40
< >
分享
最佳答案
0

写法问题呗,内层循环开始前,@j初始化了吗?

收获园豆:5
飞扬的尘埃 | 小虾三级 |园豆:1318 | 2012-07-20 12:48
其他回答(2)
0
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,这个时候的结果已经不能满足你的WHIle条件了,所以你需要重新对J进行一次初始化。

_cc | 园豆:232 (菜鸟二级) | 2012-07-20 16:14

是的,,我刚问了下同事,,他们一说我才发现。。多谢了。。

支持(0) 反对(0) window5549-accp | 园豆:117 (初学一级) | 2012-07-20 16:50
0

楼上的已是正解

Shannon | 园豆:611 (小虾三级) | 2012-07-20 16:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册