#zuihou1是个临时表,不记录到sysobjects表中。

解决方案 »

  1.   

    if (select count(*) from sysobjects where name='#zuihou1')>0
    这个语句并不能判断出临时表是否存在。
      

  2.   

    你创建了两个#zuihoul表啊,
    即使分别在if..else里面也不可以
      

  3.   

    #TableA 这样的临时表并不在 sysobjects 中记录,所以每次运行该语句会重复建立临时表 #zuihoul ,判断类似的临时表可以用 EXITST 语句试一下
      

  4.   

    各位老大,他这是语法错误啊,不是运行错误。
    象下面这样写同样会错!
    if (1=1)
    begin
    create table #zuihou1(
    item_no varchar(20) not null,unit_cost float default 0 
    primary key (item_no)
    )   
    drop table #zuihou1
    end
    else
    begin create table #zuihou1(
    item_no varchar(20) not null,unit_cost float default 0 
    primary key (item_no)
    )   
    drop table #zuihou1
    end
    解决方法就是把创建#zuihou1的语句拿到if外面去。
      

  5.   

    to:tj_dns(愉快的登山者) 
    不记录到sysobjects表中。??临时表是记录在TEMPDB的SYSOBJECTS
    TRY:SELECT * INTO #TEMP FROM SALES
    GO
    USE TEMPDB
    GO
    select * from sysobjects where id=object_id('#temp')