what do you mean by 还原表?
if you mean import the data to the table which already exists in the database . you can just specify the ignore=Y option .

解决方案 »

  1.   

    用 exp 导出...用 imp 导入的话,就有可能(但可以选择不覆盖)
      

  2.   

    怎么样叫还原表?
    roolback?
      

  3.   

    你是想怎样覆盖,是有相同记录覆盖,还是整个表覆盖。
    如果用IMP操作,加上ROWS=Y就可以把记录添加到原来的表。
    不过违反约束不行。 因为IMP都是INSERT操作的,建议还是做
    个过程来实现。
      

  4.   

    哦,我没有说清楚,就是我使用exp导出一个表,然后在数据库中修改这个表的结构,
    我再使用imp命令导入刚才导出的表,但是不能恢复成我导出的那表的结构一样。
      

  5.   

    IMP的时候,如果你没有这些列它会帮你建立这些列的。
      

  6.   

    LGQDUCKY(飘) 不会啊,我试过很多次了!而且如果我新修改的那个表多加几个字段,我imp原来的表的时候也不会变成和原来的表的结构一样。
      

  7.   

    imp不会改变表结构的,表不存在的时候会建表
      

  8.   

    肯定不会跟你原来的结构一样呀(因为你新增加了新列),不过应该你原来表有的列,
    IMP以后会把你新表没有的列ALTER的。
      

  9.   

    sorry!
    imp不会改变表结构的,表不存在的时候会建表,IMP的时候
    它会根据你的字段名INSERT数据。
      

  10.   

    LGQDUCKY(飘): 那用什么办法可以恢复原来的表呢?不要说是先在数据库里把表删除,然后imp原来导出的表吧?
      

  11.   

    难道像下面这样不行吗?
    imp 用户名/密码@服务名 file=test.dmp tables=表名 destroy=y
      

  12.   

    接上:要么9i的imp没有删除原先表的功能(你可以事先用一个命令把表删除,然后再用这命令),这样反而安全性更高一点!!