现在想实现这样两个操作:
对数据库中数据操作的REDO、UNDO,
就像WORD里面的那个操作一样,这里面有可能数据量比较大,
并且操作的是不同的表结构,
并且有可能操作的不仅仅是数据,
还可能是更改表的结构这两个操作该如何实现啊?

解决方案 »

  1.   

    REDO是没有的。数据更改的UNDO就是回滚事务。
      

  2.   

    要不就把你的SQL一个一个记下来。要REDO的时候就重新执行一次不过我个人认为这个需求比较不合理。真的有必要要做吗
      

  3.   

    其实就是数据库回滚的问题;
    WORD里面只要在未保存前,均可以使用REDO,UNDO;
    ORACLE里面只要在未COMMIT前,均可以使用ROLLBACK进行回滚!
      

  4.   

    那word里还可以redo,undo多次呢。像更改表结构一类的DDL语句在oracle里是不支持回滚操作的。
      

  5.   

    哦,对更改表结构这样的DDL语句不支持回滚?
    这个我倒是不知道
      

  6.   

    那如果是只针对操作数据的呢?现在的程序是这样的:
    用户在界面上更改了数据后,
    要在图形或界面上实时地显示出来,
    而在图形或界面上显示的数据是直接从数据库里SELECT出来的,
    而做UNDO的意思就是如果觉得这一步的数据看了效果以后觉得不需要加,那用UNDO就可以退到上一次操作时的图形界面,而用REDO又可以到达加了数据以后的图形界面,这样的操作怎么实现啊?
      

  7.   

    “要不就把你的SQL一个一个记下来。要REDO的时候就重新执行一次”?
    如果是一些DELETE,UPDATE语句,INSERT语句,光记下SQL语句也没用啊
      

  8.   

    建两个一样的表,每次都有一个表保持原有数据,另一个表更新修改过的数据。undo读原表,redo读新表。