我正在创建一个相当深入的时态数据库原型,我们在其中使用 Oracle 的 Total Recall 来管理事务时间。
我的测试数据集有大约 150k 当前行以及 170k 退休行加载到启用 FLASHBACK ARCHIVE 的表中。增强的 SQL 查询(如下面的第一个)正在正确执行,提供适当的数据结果。
选择 * 从 CUT_BLOCK_COMBO AS OF TIMESTAMP FROM_TZ(TO_TIMESTAMP('2007-08-28 00:00:00','YYYY-MM-DD HH24:MI:SS'), 'UTC') 哪里 CB_SKEY = 4141;
此 select 语句返回以下数据:
CB_SKEY HVA_SKEY FOREST_FILE_ID CUTTING_PERMIT_ID TIMBER_MARK CUT_BLOCK_ID ----------- ------------ -------------- -------------- --- ----------- ------------ 4141 53094 A80053 80053 29025
但是,一旦将表包装到视图中,就无法再使用“AS OF TIMESTAMP”子句查询数据。
创建或替换视图 CUT_BLOCK_COMBO_VW 为 select * from CUT_BLOCK_COMBO;
选择 * 从 CUT_BLOCK_COMBO_VW AS OF TIMESTAMP FROM_TZ(TO_TIMESTAMP('2007-08-28 00:00:00','YYYY-MM-DD HH24:MI:SS'), 'UTC') 哪里 CB_SKEY = 4141;
视图中的 select 语句返回以下错误:ORA-01466: 无法读取数据 - 表定义已更改
创建视图定义时我错过了什么想法?我在文档中找不到任何内容(Oracle Total Recall 11G R2)