我的系统是Win2000 Server + SQL Sever 2000 企业版,有一个数据库,其中有一个表里面有几千万条记录,我现在要删除这个表里面的全部记录,我在查询分析器中用Delete会报超时,用"TRUNCATE TABLE 表名",它会报表名中有语法错误,我后来在另一台装有SQL Server 2000个人版的机器中用"TRUNCATE TABLE 表名"来删除所有记录,不会报错,并且执行成功,为什么在企业版中就会报错?我的表名写得没有错啊!我将表名加上[]在企业版中还是一样的报错,真是晕了,高手,救救我吧!

解决方案 »

  1.   

    set rowcount 100000select count(*) from [表名]while @@rowcount<>0
    begin
        delete [表名]
    endset rowcount 0
      

  2.   

    你是在web中执行 还是查询分析器中 web中有超时  你数据量过大 建议分多次删除
      

  3.   

    TRUNCATE TABLE [表名]
    支持这一语法
      

  4.   

    先把复制此表的表结构,直接把这个表删除,drop table
      

  5.   

    libin_ftsafe(子陌红尘:当libin告别ftsafe) 
    写一个循环来分批删除表中数据,比如每次删除10万条。
    -----------------------------------------------------
    不行,还是会报超时!
      

  6.   

    Hopewell_Go(好的在后頭﹗希望更好﹗﹗) 
    先把复制此表的表结构,直接把这个表删除,drop table
    -------------------------------------------------
    如何复制此表的结构,有什么语句,谢谢!
      

  7.   

    用下面语句复制结构试试,a表为旧表,b表为新表
    select * into 表b from 表a where 1 = 0
      

  8.   

    如果我只想删除部分记录,该如何解决?每次一用Delete就会超时!
      

  9.   

    drop table tablenamecreate table ....
    还会报错吗