我有一个观点:
昨天| myview | select * from mat where bereich='AAA'
|
今天| myview | select * from mat where bereich='BBB' AND typ='BR'
|
如何昨天重新获得我的查询/ myview?
谢谢。
答案 0 :(得分:0)
视图只是一个存储的查询,数据没有任何变化。只需使用旧查询重新创建视图:
create or replace myview as
select *
from mat
where bereich = 'AAA';
答案 1 :(得分:0)
您可以使用user_views
数据字典视图来查看视图的前text
。为此,您需要一些特权,例如
SQL> sqlplus / as sysdba
SQL> grant flashback on user_views to myschema;
以及使用闪回技术(例如
的最低要求)SQL> select p.value
from v$parameter p
where p.name = 'db_flashback_retention_target';
VALUE
-----
1440 -- should be set to 1440(minute) as minimum to get the value for the day before.
由您的 DBA 提供。
然后,连接到您的架构
SQL> conn myschema/mypwd
并使用以下查询
SQL> select t.text
from user_views
as of timestamp systimestamp - interval '1' day t
where t.view_name = 'MYVIEW';
获取过去视图的text
来重新创建。
P.S。根据您的需要,关键字day
可能被hour
,minute
或second
取代。