就是有一张数据表,有一张单位表,单位表里存的是所有单位,现在想根据单位表的名称在数据表里查出来,用单位名称做为表名建表!
select*into 新表名from 数据表 ,单位表where ..... 
  
关键是现在那个新表的表名!我要的是 查出单位名称! 那个新表的表名我要自动写成单位的名称现在是有140个单位我想弄成140张表,难道要一张一张的执行那个语句. 还要改名称
现在主要的问题  是创建出来的新表的表名要的是 单位表里的 名称 

解决方案 »

  1.   

    不是回了吗?
    declare @s varchar(8000)
    declare c cursor for
      select 'select * into ['+单位名称 +'] from 数据表 ,单位表 where ..... '
      from 单位表
    open c
    fetch next from c into @s
    while @@fetch_status=0
      begin
       exec(@s)
       fetch next from c into @s
      end
    close c
    deallocate c
      

  2.   

    是啊,通过游标来遍历单位名称,执行动态SQL来创建。