在sqlserver中一次创建多个表,标的数目不确定,表名以变量的形式指定

来源:百度知道 编辑:UC知道 时间:2024/05/30 20:14:02

需要用到动态语句

用while循环或游标执行动态语句就可以了

------下面是我原来写的东西 你参考下吧 在你的库中建一个名为[t_记录_报警记录]的表下面的语句就可执行通过
declare @sql varchar(8000)
declare @Year int
set @Year=2005
while @Year<2010
begin
if exists(select * from sysobjects where name='t_记录_报警记录_'+convert(varchar(10),@Year) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
begin
set @sql='TRUNCATE TABLE t_记录_报警记录_'+convert(varchar(10),@Year)
exec(@sql)
end
else
begin
set @sql='select top 0 * into t_记录_报警记录_'+convert(varchar(10),@Year)+' from t_记录_报警记录'
exec(@sql)
end

set @Year=@Year+1
end