存储过程中用递归找当相应记录时出现的问题!!!
现在有一个test表:id lab
1 0
2 1
3 2
4 3
5 2
6 5
另一个表temptable,表结构跟test表是一样的,开时时里面记录为空,现在要把所有跟lab=1有关的记录都放在temptable里(具体描述一下需求:lab=1时,
有一条记是2 1 ,然后再找到lab=2时的所有记录是3 2 ;5 2 ,然后再找lab=3 lab=5的记录,以此类推,这样肯定要用递归实现
正确的结果就应该为
2 1
3 2
4 3
5 2
6 5
而我写的存储过程结果老是有问题,请教哪位大哥帮帮忙呀..我的存储过程是:
CREATE procedure AA1(@id int)
as
Drop Table #temp
select no=Identity(int,1,1),id,lab Into #temp from test where lab = @id
declare @m int
declare @n int
declare @s int
set @m=1
set @s=(select count(*) from test Where lab = @id)
if @s> 0
begin
while @m <= (select count(*) from test Where lab = @id)
begin
insert into temptable
select *
from test Where id =(select id from #temp WHERE no = @m)
set @n= (select id from #temp WHERE no = @m)
exec AA @n
set @m=@m+1
end
end
GO
--------------------编程问答-------------------- 路过帮顶
=============
11月6日,论坛升级公告,积分已经做了调整!
http://topic.csdn.net/u/20081107/11/b27dc75f-14b1-4594-9de3-5b18d9e36a11.html
此次调整增加了两个新的可用分获取渠道:
1:帖子被推荐(加精)后,帖主可以获得88分的可用分奖励;
2:帖子结帖后会返还帖主50%的悬赏分,无满意结帖不返还分数;
3:接下来会不断增加新的可用分获取途径,比如参与活动赠送等,请大家多关注;
补充:.NET技术 , .NET Framework