把SELECT语句也写入到@SQL里面去才可以 临时表只能在一个批使用。要么就用全局临时表或者实体表

解决方案 »

  1.   

    需要把 datetime类型的@Day先转换为varchar类型,才能和varchar变量@Sql做字符串合并。Set @Sql='Insert into #Temp(OrderDay) Valuse ('+convert(varchar(10),@Day,120)+')'
      

  2.   

    Create Table #Temp
    (
    OrderDay Datetime
    )
    Declare @Day varchar(10) -- 直接用字符串
    Declare @Sql  Varchar(8000)
    Set @Day='2014/10/10'
    Set @Sql='Insert into #Temp(OrderDay) Values ('''+@Day+''')' -- 日期值要有引号,Values 拼写错误
    Exec(@Sql)
    Select * from #Temp
    Drop Table #Temp