if @cname='全市'
begin
    if object_id('tempdb..#tempt') is not null
    drop table #tempt
    select *  into  #tempt
    from t_BoardType 
    where Data like @year
    group by Data,Btype
end
else 
begin
    if object_id('tempdb..#tempt') is not null
    drop table #tempt
    select *  into #tempt
    from t_BoardType    
    where Cname=@cname and Data like @year
    group by Data,Btype
end
为什么会提示 数据库中已存在名为 '#tempt' 的对象。

解决方案 »

  1.   

    在if 之前,是不是建过#tempt?
      

  2.   

    不行啊,之前也没有建过#tempt。
      

  3.   

        if object_id('tempdb..#tempt') is not null
        drop table #tempt在一个批处理下,不go一下是不会立即生效的。
    所以这句没用,删除。
      

  4.   

        if object_id('tempdb..#tempt') is not null
        drop table #tempt这句你怎么着都要执行的,放if前面吧。
      

  5.   


    IF ...
      SELECT * INTO #tb
      FROM ...
    ELSE
      SELECT * INTO #tb
      FROM ...这种方法表名会冲突的。改成:CREATE TABLE #tb(...)
    IF ...
      INSERT INTO #tb
      SELECT *
      FROM ...
    ELSE
      INSERT INTO #tb
      SELECT *
      FROM ...