在SQL Developer中恢复SQL查询结果?

时间:2017-11-17 14:27:36

标签: oracle oracle-sqldeveloper

所以我昨天处理了一堆查询,在我将结果导出到外部文件之前,我的数据库已经关闭了。有没有办法在SQL Developer中查看过去几个查询的结果?我知道有办法查看过去的查询,但我正在查找查询结果。找到它们会为我和我的团队节省很多工作。

非常感谢任何帮助。谢谢!

编辑:我问的是如何查找昨天运行的SQL查询的结果。不是查询本身。

1 个答案:

答案 0 :(得分:0)

使用带有SELECT子句的AS OF语句。这将检索过去某个时刻存在的数据。

例如,此查询返回Chung当前状态的记录。

SELECT * FROM employees
     WHERE last_name = 'Chung';

以下查询在2004年4月4日上午9:30检索Chung的记录状态:

SELECT * FROM employees
  AS OF TIMESTAMP
   TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS')
     WHERE last_name = 'Chung';

你也可以像这样恢复:

INSERT INTO employees
  (SELECT * FROM employees
     AS OF TIMESTAMP
       TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS')
         WHERE last_name = 'Chung');

将查询从SQL历史记录拖到工作表中,并使用AS OF子句进行修改。 有关详细信息,请参阅此答案的来源: https://docs.oracle.com/cd/B28359_01/appdev.111/b28424/adfns_flashback.htm#g1025568