暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 如何获取数据的旧值

askTom 2018-05-22
200

问题描述

嗨,那里
我这里有个情况,
在我的一个表中,我的loc_id列

我的要求是我希望所有已更改为新loc_id的loc_id


例如:


LOC_ID客户名称
-
17 A B制药


地点17是孟买


现在loc_id变成了21

LOC_ID客户名称
-
21 A B制药公司

21号是班加罗尔


我想要这个改变的记录 (旧的loc_id和新的loc_id)..
请帮我解决这种情况...




专家解答

您 * 可能 * 能够使用闪回查询获取旧数据,例如

SQL> SELECT deptno, dname,
  2       VERSIONS_STARTTIME
  3      ,VERSIONS_XID
  4      ,VERSIONS_OPERATION
  5  FROM dept
  6  VERSIONS BETWEEN
  7     TIMESTAMP SYSTIMESTAMP - INTERVAL '20:00' MINUTE TO SECOND
  8     AND SYSTIMESTAMP
  9  WHERE deptno = 10;

    DEPTNO DNAME          VERSIONS_STARTTIME       VERSIONS_XID     V
---------- -------------- ------------------------ ---------------- -
        10 UNKNOWN        03-SEP-08 11.53.45 PM    0200100060040000 U
        10 MONEY GRABBERS 03-SEP-08 11.53.36 PM    0600050065040000 U
        10 FINANCE        03-SEP-08 11.53.24 PM    09000D001D050000 U
        10 BEAN COUNTERS  03-SEP-08 11.53.12 PM    01001A00EA030000 U
        10 ACCOUNTING

复制


上面的数据是表中被更改了5次的 * single * 行。

但这将取决于您可以使用多少撤消信息 (DBA设置)。如果查询不起作用,那么您需要查看审计或闪回数据归档来帮助您 * 在未来 * (即,它不会让您返回您已经更新的数据)
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论