日期:2014-05-18  浏览次数:20578 次

请教n个表联合查询?
在某数据库,我想将每个月产生的数据存放一个表,如table0701,table0702,table0703,……,tablennnn所有表的结构是一样的;如果我现在想查某笔数据(并不知道哪个月的),只有联合所有的表进行查询;但是我想写一语句union所有的表包括以后产生的月表,不知是否可以?请教高手!在线等待!急!


------解决方案--------------------
create proc up_list
as
declare @sql varchar(8000)
set @sql= ' '
select @sql=@sql+ 'union all select * from '+name+char(13)
from sysobjects
where type= 'U ' and name like 'table% '
select @sql=stuff(@sql,1,10, ' ')
exec(@sql)
go

exec up_list
------解决方案--------------------
用视图方便一些吧!
------解决方案--------------------
联合起来的表索引是无效的
------解决方案--------------------
但是视图里不能知道动态的总共有多少个表,除非所有表名已知.