我知道用SELECT name
FROM sysobjects
WHERE (xtype = 'u') AND (status > 0)可以得到表名列表,然后就。。
请各位指教。

解决方案 »

  1.   

    create proc p_merg
    as
    declare @sql varchar(8000)
    set @sql=''
    select @sql=@sql+' union all select * from '+name
    from sysobjects where objectproperty(id,'IsUserTable')=1
    and name like 'k[0-9][0-9]'
    set @sql=substring(@sql,12,@sql)--查询
    exec(@sql)--将结果生成一个表
    exec('select * into 表名 from('+@sql+') a')
    go
      

  2.   

    create proc p_merg
    as
    declare @sql varchar(8000)
    set @sql='select * from k001'
    select @sql=@sql+' union all select * from '+name   --这个地方可能出错
    from sysobjects where objectproperty(id,'IsUserTable')=1
    and name like 'k0[0-9]' and name<>'k001'
    set @sql=substring(@sql,12,@sql)--查询
    exec(@sql)--将结果生成一个表
    exec('select * into 表名 from('+@sql+') a')
    go
      

  3.   

    來晚了  ^_^
    zjcxc(邹建) ( ) 的方法可行
      

  4.   

    set @sql=substring(@sql,12,@sql)应该是   set @sql=substring(@sql,12,len(@sql))
    其他都和zjcxc(邹建) 的代码一样,结果解决了。nboys()的方法应该去掉  set @sql=substring(@sql,12,@sql)      谢谢各位!!