declare @i int
declare @n int
declare @cn varchar(5)
set @i=1
set select @n=count(*) from dbo.BA_LoopInfoDetailswhile @i<@n
set @cn = cast(@i as nvarchar(5)) 加了这句之后卡主了
begin
select @cn as cn
set @i=@i+1
end不知道为什么,n = 100,数据量也不大,但这个执行后就一直不出结果“正在执行批查询...”好像是这里转换的地方有问题请大家帮忙看看原因

解决方案 »

  1.   

    while @i <@n
    set @cn = cast(@i as nvarchar(5)) 加了这句之后卡主了
    --WHILE只会循环上面那一句,所以是死循环
    begin
    select @cn as cn
    set @i=@i+1
    end 
      

  2.   

    晕 
    declare @i int 
    declare @n int 
    declare @cn varchar(5) 
    set @i=1 
    set select @n=count(*) from dbo.BA_LoopInfoDetails while @i <@n 
    begin 
    set @cn = cast(@i as nvarchar(5)) 加了这句之后卡主了 
    select @cn as cn 
    set @i=@i+1 
    end 
      

  3.   

    恩死循环declare @i int 
    declare @n int 
    declare @cn varchar(5) 
    set @i=1 
    select @n=count(*) from dbo.BA_LoopInfoDetails while @i <@n 
    begin 
    set @cn = cast(@i as nvarchar(5)) --加了这句之后卡主了 
    select @cn as cn 
    set @i=@i+1 
    end 
      

  4.   

    恩,谢谢大家,是这个原因CSDN有限制,稍后结贴
      

  5.   

    while @i <@n 
     加了这句之后卡主了 
    begin 
    set @cn = cast(@i as nvarchar(5))
    select @cn as cn 
    set @i=@i+1 
    end