if exists (select * from dbo.sysobjects where id = object_id(N'#Temp_Month') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table #Temp_Month
CREATE TABLE #Temp_Month (
[date] datetime null,
[sum] int null,
[name] varchar(100) null
) ON [PRIMARY]
declare @Sql varchar(200)declare @indate datetime
set @indate=getdate()set @Sql='insert into #Temp_Month ([date],[sum],[name]) SELECT '''+convert(varchar,@indate,120)+''',SUM('+@name+'),'''+@name+''' FROM Cell '
set @Sql=@Sql+'where [date] <='''+convert(varchar,@indate,120)+''' AND [date] > DATEADD([day], - 15, '''+convert(varchar,@indate,120)+''')'exec (@Sql)
select * from #Temp_Month

解决方案 »

  1.   

    --或者:if exists (select * from dbo.sysobjects where id = object_id(N'#Temp_Month') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table #Temp_Month
    CREATE TABLE #Temp_Month (
    [date] datetime null,
    [sum] int null,
    [name] varchar(100) null
    ) ON [PRIMARY]
    declare @Sql Nvarchar(2000) --注意修改了定义declare @indate datetime
    set @indate=getdate()set @Sql='insert into #Temp_Month ([date],[sum],[name]) SELECT @indate,SUM('+@name+'),'''+@name+''' FROM Cell '
    set @Sql=@Sql+'where [date] <=@indate AND [date] > DATEADD([day], - 15,@indate)'exec sp_executesql @Sql,N'@indate datetime',@indate
    select * from #Temp_Month
      

  2.   

    必须声明变量 '@name'。