我不小心把 一个表的一个字段给UPDATE了。没加够参数现在用
SELECT * FROM book.users AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '45' minute) where BDid=32065吧以前的数据取出来 另存了一个表HH在库里我该如何把这个HH表里的数据批量恢复给原来的表BOOK呢?谢谢啦
很急啊 别让领导发现!  求 
  本人数据库刚学  高级SQL不会写 

解决方案 »

  1.   

    要找到原表与被更改表之间的关联字段udpate 原表 set 
    原字段=(select 新字段 from book.users AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '45' minute) where BDid=32065 )
    where 原表.BDid=xxx
      

  2.   

    为什么  我这么写 总也提示 错误呢?
    PL是英文的 我也没仔细看 反正是出错了 
    我要恢复 PASSWORD字段 
    在MSSQL里是 【】扩起来 
    但是在PL里 这么写也不成 
      

  3.   

    你权限够不够大?用logminer一下就恢复了。
      

  4.   

    建意update之间,先备份下要update的表,要不然一出错就更麻烦咯
      

  5.   

    UPDATE  怎么写啊   两个一样结构的表 
      

  6.   

    你根据什么字段关联你的源表和HH表?
    或者说你如何定位原来UPDATE错误的行?有了关联字段,你就update就行了阿。这个SQL不难吧。或者你可以定位到错误的行,那么就把这些行delete删掉,然后再用hh表把相关行插进表中。
      

  7.   

    update A
       set (A.xx1, A.xx2, A.xx3) = (select xxx1, xxx2, xxx3 from HH where A.关联字段 = HH.关联字段)
      where exists(
              select 1
                from HH
               where A.关联字段 = HH.关联字段
            )