5 个解决方案
#1
30张表, 按日期划分?
做一个视图, union all 30张表
create view view_all
as
select * from t1
union all
select * from t2
union all
……
做一个视图, union all 30张表
create view view_all
as
select * from t1
union all
select * from t2
union all
……
#2
如果我不想建视图有没有其他的办法?请版主赐教
#3
动态拼接
#4
如果你的表名也有规律,可以试试用sp_MSforeachtable,比如类似这样写
create table #t(....)
exec sp_MSforeachtable 'insert into #t(...) select ... from ? where col1=100 ',
@whereand='and Schema_Id=Schema_id(''DBO'') and o.Name like ''%ORDER%'''
#5
既然表结构相同,可以把30个表名存到一个表中(或者其他办法能遍历到这些表名)然后在游标逐个表处理 把每个表数据全部插入到一个新表里 哎 想想就觉得麻烦 如果是我 也会采用1楼版主得写法。。。谁让我比较懒呢
#1
30张表, 按日期划分?
做一个视图, union all 30张表
create view view_all
as
select * from t1
union all
select * from t2
union all
……
做一个视图, union all 30张表
create view view_all
as
select * from t1
union all
select * from t2
union all
……
#2
如果我不想建视图有没有其他的办法?请版主赐教
#3
动态拼接
#4
如果你的表名也有规律,可以试试用sp_MSforeachtable,比如类似这样写
create table #t(....)
exec sp_MSforeachtable 'insert into #t(...) select ... from ? where col1=100 ',
@whereand='and Schema_Id=Schema_id(''DBO'') and o.Name like ''%ORDER%'''
#5
既然表结构相同,可以把30个表名存到一个表中(或者其他办法能遍历到这些表名)然后在游标逐个表处理 把每个表数据全部插入到一个新表里 哎 想想就觉得麻烦 如果是我 也会采用1楼版主得写法。。。谁让我比较懒呢