当前位置: 代码迷 >> Sql Server >> 求帮忙看一下异常在哪
  详细解决方案

求帮忙看一下异常在哪

热度:1   发布时间:2016-04-24 10:30:49.0
求帮忙看一下错误在哪

CREATE TABLE AB(
    [a] int,
    [b] int

GO

declare @a int
set @a = 1
declare @b int
set @b = 1
while @a < 10
begin
while @b<10
begin
insert into AB values
(@a,@b)
set @b+=1
end
set @a+=1
end

GO
select * from AB 

本来想笑得结果是
1 1
1 2
1 3
.
.
.
1 9
2 1
.
.
2 9
.
.
.
9 1
.
.
.
9 9
可是结果只有
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
是不是循环写错了,求指点



------解决方案--------------------
因为第二个while第一次循环完后变成了9,然后外边开始第二次,这时候不给set 1 的话,@b 还是9
引用:
Quote: 引用:

CREATE TABLE #AB(
    [a] int,
    [b] int

GO
 
declare @b int
declare @a INT
set @a = 1
set @b = 1
while @a < 10
BEGIN
SET @b=1  
while @b<10
begin
insert into #AB values
(@a,@b)
set @b+=1
end
set @a+=1
end
 
GO
select * from #AB 
DROP TABLE #AB

成功了,我想知道在循环中为什么要写一下SET @b=1 ,求解答
  相关解决方案