明显应该写成这样嘛
declare @num_int int
set @num_int = 0
while (@num_int <40000)
begin
select @num_int
set @num_int = @num_int+1
end

解决方案 »

  1.   

    declare @num_int int
    set @num_int = 0
    while (@num_int <40000)
    begin
    select @num_int
    set @num_int = @num_int+1
    end
      

  2.   

    你的语句等同于:
    declare @num_int int
    set @num_int = 0
    while (@num_int <40000)
    begin
    select @num_int
    end
    begin
    set @num_int = @num_int+1
    end
    你看是不是死循环吧!可以:
    select top 39999 identity(int,1,1) as col into #temp from 
    (select top 100 from sysobjects)a,
    (select top 100 from sysobjects)b,
    (select top 10 from sysobjects)cselect * from #temp
      

  3.   

    更正一下,缺了三个*号
    select top 39999 identity(int,1,1) as col into #temp from 
    (select top 100 * from sysobjects)a,
    (select top 100 * from sysobjects)b,
    (select top 10 * from sysobjects)cselect * from #temp
      

  4.   

    select top 39999 identity(int,1,1) as col from 
    (select top 100 * from sysobjects)a,
    (select top 100 * from sysobjects)b,
    (select top 10 * from sysobjects)c