select distinct top 10 ip=type%255 into #t from syscolumnsselect * from #t a
cross join #t b
cross join #t c
cross join #t ddrop table #t

解决方案 »

  1.   

    a/b/c/d都是临时表#t的别名...
    select distinct top 10 ip=type%255 into #t from syscolumns
    从系统表syscolumns里取不重复的10个type除以255的余数[type%255]存进临时表#t,再cross join...
      

  2.   

    --完善:更随机些
    select distinct top 20 ip=type
    ,c=ascii(substring(cast(newid() as varchar(50)),10,1))
    into #t 
    from syscolumnsselect distinct top 10000 ip
    from (
    select ip=ip1+'.'+ip2+'.'+ip3+'.'+ip4
    from (select ip1=cast((ip*c)%255 as varchar(3)) from #t) a
    cross join (select ip2=cast((ip*c)%255 as varchar(3)) from #t) b
    cross join (select ip3=cast((ip*c)%255 as varchar(3)) from #t) c
    cross join (select ip4=cast((ip*c)%255 as varchar(3)) from #t) d
    ) edrop table #t
      

  3.   

    --写入表insert into ip
    select distinct top 10000 ip
    from (
    select ip=ip1+'.'+ip2+'.'+ip3+'.'+ip4
    …………