不行
执行到这句时
drop table #TempConsignee
就跳过了

解决方案 »

  1.   

    改成if object_id('#TempConsignee') is not  null
      

  2.   

    请大家执行一下吧,总是提示#TempConsignee已存在
      

  3.   

    你的ttt表建立在那个数据库下了,有tempdb这个数据库吗?
      

  4.   

    你这句话要实现的是什么啊。我想你的主要意思是,如果存在一个临时表,那么就先创建另外一个临时表,把一些内容拷贝到那里。然后在拷回来对吗?可是有那么复杂吗?而且你第二步执行有什么意义啊?不过我认为你的错误是,局部临时表,在TEMPDB中存放着。而且他们都是跟着数字的,以区分不同部分同名的临时表。
      

  5.   

    改成if object_id(N'#TempConsignee') is not  null
      

  6.   

    临时表就是这样比如:if 1=1
      select 2 aa into #临时表 from sysobjects
    else
      select 2 aa into #临时表 from sysobjects是会错的,sqlserver不能允许在一个过程中申明两次临时表
    就象:
    if 1=1
      declare @a int
    else
      declare @a int一样
      

  7.   

    ~{NR5DD?5DJGJ5OVTZ2iQ/=a9{VP<LPx2iQ/5D9&D\#,KyRTTZAYJ11mVP=xPP2YWw#,~}
    ~{K<B7HgOB#:~}
    ~{TZ=a9{VP2iQ/#:~}
    if ~{AYJ11m2;4fTZ~}
      ~{TZNo@m1mVP2iQ/#,2"0Q2iQ/1#4f5=AYJ11mVP~}
    else
          ~{TZAYJ11mVP2iQ/#,SC2iQ/=a9{8|PB51G0AYJ11m~}
      

  8.   

    我的目的是实现在查询结果中继续查询的功能,所以在临时表中进行操作,
    思路如下:
    在结果中查询:
    if 临时表不存在
      在物理表中查询,并把查询保存到临时表中
    else
          在临时表中查询,用查询结果更新当前临时表