附:
对于有单主键的表需要保留一条 ID=-1 的记录。to zdgdh:
表如果存在外键关系,Truncate table也不可用!

解决方案 »

  1.   

       如果你有太多的参照一致性约束,则恐怕要用CASE工具的逆向工程找出这些关系,并调整truncate table的顺序,即先删除从表的内容;利用trancate table主要是为避免过多的写日志和触发触发器。如果需要保留某些部分,则看来要用delete了,如果表不多,而仅需要保留一行,不妨先记录下来,再增加。
      

  2.   

    把需要清空数据的表Create的Script倒出來.
    然後把表drop掉.再執行Script不就OK了嗎.
      

  3.   

    呵,好象表之间的关联关系是放在系统表里的,你可以先找出所以有关联关系的表,然后删除数据时如果该表有从表,就先删除从表;也可以设置cascade delete,这样就会自动把从表的数据也删掉了。最好用存储过程完成。
      

  4.   

    用truncate table 表名就可以了
      

  5.   

    如果你对各个表之间的关系特别清除的话,倒是可以便写一个delete语句的脚本,先按一定规则(保留一条纪录)删除所有从表的内容,在删除主表的内容!
    否则,可以把数据导出,生成各个表的脚本文件,重新建立一套表,也可以再建立一个库,保持两个库同时运行,在其中一个库中建立dblink连接另外一个库中!
    剩下的工作,就得一个一个来了!