一般是一次会话期间,当你的会话一直保持的时候表就一直存在。
对于共享数据库的程序使用临时表是危险的,因为尽管创建者不同,但是表的名字如果不特别区别的话总是一样的。因为你总是以一个数据库用户来连接所有的客户应用程序,如果别的客户没有退出数据库的话,数据库总认为这个会话还在连接,不会自动消除。这个是我在oracle中的经验,sqlserver不知道是否一样

解决方案 »

  1.   

    实际上在query执行完以后,临时表就应该完了,你说的情况应该是在delphi下,query把数据下到本地机上的现象!
      

  2.   

    如果你是使用会话(事务)Transaction,那应该在Commit或者是RollBack之后,局部临时表就删除了,而且只针对当前会话有效;如果你没有使用事务控制语句,那应该是在程序退出之后。
      

  3.   

    在Server的查询器中,换一个查询框都会提示临时表不存在我用
    try
      drop table #..
    exceptend;
    Select ... into #.... from ....
    可以解决问题,但我想确切的知道临时表的生命周期有多长?