随机生成20位防伪码,    比如:91330 60154 08114 93542
                            91330 60154 09476 91546
                            91330 60154 10511 07033
如一次至少生成十万个防伪号写入数据库中,或者更多应该怎么做,生成后还要给印刷场打印.有那位高手能够帮忙,先谢了.

解决方案 »

  1.   

    --好象问过吧!这样生成的数据有什么问题吗?循环生成10W个select cast(right(rand(),5) as varchar)+' '+cast(right(rand(),5) as varchar)+' '+
       cast(right(rand(),5) as varchar)+' '+cast(right(rand(),5) as varchar)
      

  2.   

    create table tb(a varchar(30))declare @i 100000
    while @i>0
    begin
    insert tb
    select substring(cast(rand() as varchar),3,5)+' '+substring(cast(rand() as varchar),3,5)+' '+
          substring(cast(rand() as varchar),3,5)+' '+substring(cast(rand() as varchar),3,5)
    set @i=@i-1
    end
      

  3.   

    加个判断就可以了啊!
    create table tb(a varchar(30))declare @i int
    set @i=100000
    declare @T varchar(30)
    while @i>0
    begin
    select @T=substring(cast(rand() as varchar),3,5)+' '+substring(cast(rand() as varchar),3,5)+' '+
          substring(cast(rand() as varchar),3,5)+' '+substring(cast(rand() as varchar),3,5)
    if not exists (select 1 from tb where a=@T)
      begin
        insert tb select @T
        set @i=@i-1
      end
    end