Tom Kyte在这里描述了时态表:
时态表是可以返回某个时间点存在的答案的表——您可以要求该表返回昨晚午夜存在的答案,而不是现在存在的答案
Oracle中是否存在这样的表?我找不到他们的文档。如何创建并使用它?他说它们存在于数据库中,尽管他没有说它们存在于 Oracle 或任何其他产品中。这是一个没有实现的概念吗?
Tom Kyte在这里描述了时态表:
时态表是可以返回某个时间点存在的答案的表——您可以要求该表返回昨晚午夜存在的答案,而不是现在存在的答案
Oracle中是否存在这样的表?我找不到他们的文档。如何创建并使用它?他说它们存在于数据库中,尽管他没有说它们存在于 Oracle 或任何其他产品中。这是一个没有实现的概念吗?
好吧,我相信您的意思是获取数据状态,因为它比现在早了一段时间。在这种情况下,Oracle 建议使用闪回查询:
SQL> select * from t where x in (1,2,3);
X Y
---------- ----------
1 1
2 2
3 3
SQL> delete from t where x in (1,2,3);
SQL> commit;
SQL> select * from t where x in (1,2,3);
No rows selected
SQL> select * from t as of timestamp(systimestamp - interval '2' minute) where x in (1,2,3)
2 /
X Y
---------- ----------
1 1
2 2
3 3
Oracle 在那里描述了这个选项
http://docs.oracle.com/cd/B12037_01/appdev.101/b10795/adfns_fl.htm#1008580
从临时表开始 - 请参阅此参考:
http://docs.oracle.com/cd/B28359_01/server.111/b28310/tables003.htm#ADMIN01503