Declare @I Int
declare @sql  Varchar(8000)
Set @I=1
While @I<=20
Begin
Set @sql='Create table ghy'+Rtrim(@I)+' (ID Int)'
EXEC(@sql)
Set @I=@I+1
End

解决方案 »

  1.   

    declare @a int 
    set @a = 0
    while @a < 20
    begin
    exec('create table test'+@a +'(a int)')
    select @a=@a+1
    end
    ===============================
    后面的a int 为您的表中的列名
      

  2.   

    create table ghy(a int ,b int ,c int)
    insert into ghy
    values(1,2,3)
    declare @a int 
    declare @b varchar(6)set @a=1
    while @a<21
    begin 
    set @b='ghy'+Rtrim(@a)
    --exec('select * into '+@b+' from ghy where 1<>1') --不要把表裡數據copy過去
    --exec('select * into '+@b+' from ghy '          ) --  要把表裡數據copy過去--exec('drop table '+@b) --刪除所新增的表
    set @a=@a+1
    end
    drop table ghy