declare @t as int
set @t=1
while @t <=30
begin
EXEC('create table a' + cast(@t as varchar) + '(kk varchar(8000))')
EXEC('insert into a' + cast(@t as varchar) + 'select '''')
end

解决方案 »

  1.   


    declare @sql varchar(8000)
    declare @t as int 
    set @t=1 
    while @t <=30 
    begin 
    set @sql='create table a+cast(+'@t'+ as varchar)(kk varchar(8000))'
    exec(@sql)
    set @sql='insert into a+cast(+'@t'+ as varchar) select '''' ' 
    end
      

  2.   


    declare @sql varchar(8000)
    declare @t as int 
    set @t=1 
    while @t <=30 
    begin 
    set @sql='create table a+cast(+'@t'+ as varchar)(kk varchar(8000))'
    exec(@sql)
    set @sql='insert into a+cast(+'@t'+ as varchar) select '''' ' 
    exec(@sql)
    end
      

  3.   

    declare @t as int
    set @t=1
    while @t <=30
    begin
    EXEC('create table a' + cast(@t as varchar) + '(kk varchar(8000))')
    EXEC('insert into a' + cast(@t as varchar) + 'select ''')
    end
      

  4.   

    declare @t as int
    set @t=1
    while @t <=30
    begin
    EXEC('create table a' + @t + '(kk varchar(8000))')
    EXEC('insert into a' + @t  + 'select ''')
    end
      

  5.   

    declare @t as int 
    set @t=1 
    while @t <=30 
    begin 
    declare @s varchar(1000)
    set @s='
    create table a'+cast(@t as varchar)+'(kk varchar(8000)) 
    insert into a'+cast(@t as varchar)+' select '''''
    exec(@s)
    set @t=@t+1 
    end
      

  6.   

    这样会高效点:
    declare @t as int,@s varchar(1000)
    set @t=1 
    while @t <=30 
    begin 
    set @s='
    create table a'+cast(@t as varchar)+'(kk varchar(8000)) 
    insert into a'+cast(@t as varchar)+' select '''''
    exec(@s)
    set @t=@t+1 
    end
      

  7.   

    declare @t as int
    set @t=1
    while @t <=30
    begin
    EXEC('create table a' + @t + '(kk varchar(8000))')
    EXEC('insert into a' + @t  + 'select ''')
    SET @T=@T+1
    end