大家好 最近有个需求 要动态变化表名
现有两种方案
1.就是根据需求 拼接字符串
比如:
if @PreYear=2013
begin
set @sql = 'select * from Table_' + 201301
end
else
begin
set @sql = 'select * from Table_201302'
end
exec(@sql)
2.就是动态建视图
比如
create proc proc_creatview
(@tablename)
as
declare @sql= 'create view vw_table as select * from ' + @tablename
这样在以后使用的时候 就直接用vw_table了,用vw_table的地方挺多的但不是道那个效率高
数据量120万左右还请各位大虾给分析一下 给个建议
SQL Server
现有两种方案
1.就是根据需求 拼接字符串
比如:
if @PreYear=2013
begin
set @sql = 'select * from Table_' + 201301
end
else
begin
set @sql = 'select * from Table_201302'
end
exec(@sql)
2.就是动态建视图
比如
create proc proc_creatview
(@tablename)
as
declare @sql= 'create view vw_table as select * from ' + @tablename
这样在以后使用的时候 就直接用vw_table了,用vw_table的地方挺多的但不是道那个效率高
数据量120万左右还请各位大虾给分析一下 给个建议
SQL Server
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货