是不是用Drop table语句呢?

解决方案 »

  1.   


      是不是用Drop table语句呢?
      

  2.   

    既然要删除的,应该是用DROP TABLE TABLENAME
    同意: machin(刷新一下) 
      

  3.   

    我也遇到这个问题,用access建的库,查询之后会产生很多临时表
      

  4.   

    先用if exist判断一下,然后用drop table删除
      

  5.   

    if exists (select * from sysobjects where id = object_id(N'[dbo].[ypxx]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [dbo].[ypxx]
      

  6.   

    请问如何创建临时table ,我用的是oracle
      

  7.   

    TO : xiaoxiao197821(洪飞) 
    程序关闭后,应该会自动删除吧。
      

  8.   

    你的临时表是什么呀?TTable还是TMemoryTable?
    如果是TTable,if exist判断一下,然后用drop table
    如果是TMemoryTable,才是真正的临时表,系统会自动删除
      

  9.   

    这是我删临时表的代码:
        with myQuery do
        begin
          Close;
          Sql.Clear;
          Sql.Add('if (exists(select * from tempdb..sysobjects  where name='''+TempTable+''''+'))');
          Sql.Add('  drop table '+TempTable);
          ExecSql;
          Close;
        end;
      

  10.   

    可以自己写一个BAT文件,然后在程序退出运行
    大体格式如下
    del *.obj
    del *.dcu
    del *.~*
    del *.hpp
    del *.dcp
    del *.dpl
    del *.cesettings
    del *.bak
    del m*.db
      

  11.   

    SORRY,你是要用SQL呀,楼上的就行,
    不过##或#的临时表是可以自动删除的呀。
      

  12.   

    我的意思是不用select语句来判断表是否存在,有没有直接的办法?
    还有临时表不能用drop table语句删除,至少在SQL SERVER 中不行,别的我没试过,我就是因为不能用drop table 所以才问这个问题的。
    还有临时表是要在当前的对话结束后才删除的,所以我才要问在对话中如何删除
    谢谢大家
      

  13.   

      sql server中的临时表会自动删除,不过要等到该次连接断开的时候,可能设计者希望的往往不是由系统完成,而是保留链接的情况下手工删除,我也遇到过这种问题。
      你首先要确定你的临时表确实没有继续使用的价值了吗?这往往是设计者忽略的一个问题,因为很多情况下临时表的数据还可以被利用的情况下,就被删除而后重建了,这样对性能有一定的影响,不过往往被可控制性掩盖了。
      如果确实要删除,而且删除后特定情况下要重建,可以考虑用sp实现,放在同一个sp而不是用sql语句块实现的好处是便于管理。你可以在使用完它们之后立即删除(仍在同一个sp中), 减少出错的机会。
      

  14.   

       补充一句,sql server中的临时表的删除可以用drop table的(在sp中)。