declare @sql varchar(100)
declare @i int
declare @s varchar(100)
set @s=substring(replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') ,5,2);
set @s = '-'+@s
set @s=replace(replace(@s,'-0',''),'-','')//取当前的月份,如果是1月份往上一年12月份的表里插入数据if @s=1
  begin
     set @i=1
    while @i<=2
      begin
        set @sql='insert into cslw_t_month_2008_12(login_name,logout_date,time_duration)
 select max(login_name),max(logout_date),sum(time_duration)
 from cslw_t_month_2008_12_'+@i+' group by login_name'
exec(@sql)
      end  end
运行时老报如下错误:
服务器: 消息 245,级别 16,状态 1,行 15
将 varchar 值 'insert into cslw_t_month_2008_12(login_name,logout_date,time_duration)
select max(login_name),max(logout_date),sum(time_duration)
from cslw_t_month_2008_12_' 转换为数据类型为 int 的列时发生语法错误。