在程序中,删除一个数据库表内所有数据,最简单有效的方法是怎么样的?
请指教!

解决方案 »

  1.   

    query1.First;
    while not query1.Eof do           
    begin
    query1.Delete;
    end;
      

  2.   

    table1.Empty; //table1要求独占方式打开//or
    query1.sql.clear;
    query1.sql.add('delete from aaa');
    query.ExecSql;
      

  3.   

    query1.sql.clear;
    query1.sql.add('delete from aaa');
    query.ExecSql;同意楼上的,我常用。
      

  4.   

    如果数据量很大,特别是在关系数据库中时,建议使用:
    DROP TABLE AAA;
    CREATE TABLE AAA(...);
    即首先直接删除表,再重新创建表。
    这样可以避免使用DELETE时数据库系统为ROLLBACK而做的内部处理。
    因为DROP语句是不可回滚的,而DELETE是可以回滚的。(至少在ORACLE中是这样)
      

  5.   

    如果是Oracle的,可用truncate,直接删除表内所有内容,速度很快,其它数据库可能也有类似语句,不过要查查Help。
      

  6.   

    截断表。
    Truncate table <TableName>
    Oracle, SQL Server 中都可以用,而且不会使触发器工作。
      

  7.   

    table.empty或delete from table