1
我正在創建一個相當深入的時態數據庫原型,其中我們使用Oracle的Total Recall來管理事務時間。Oracle Total Recall和Views
我的測試數據集包含大約150k的當前行以及加載到啓用了FLASHBACK ARCHIVE的表中的170k退休行。增強的SQL查詢(如下面的第一個)正在正確執行,以提供適當的數據結果。
select * from CUT_BLOCK_COMBO AS OF TIMESTAMP FROM_TZ(TO_TIMESTAMP('2007-08-28 00:00:00','YYYY-MM-DD HH24:MI:SS'), 'UTC') WHERE 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時間戳」子句查詢數據。
create or replace view CUT_BLOCK_COMBO_VW as select * from CUT_BLOCK_COMBO;
select * from CUT_BLOCK_COMBO_VW AS OF TIMESTAMP FROM_TZ(TO_TIMESTAMP('2007-08-28 00:00:00','YYYY-MM-DD HH24:MI:SS'), 'UTC') WHERE CB_SKEY = 4141;
從視圖的SELECT語句返回以下錯誤:ORA-01466:無法讀取數據 - 表定義已經改變
任何想法我創建視圖定義時錯過?我無法在文檔中找到任何內容(Oracle Total Recall 11G R2)
我將問題提交給Tom,他解釋了一些關於'AS OF'子句如何應用於對象的細節。 [詢問湯姆](http://asktom.oracle.com/pls/apex/f?p=100:11:0::NO::P11_QUESTION_ID:2048074500346953246) –
我想一個關鍵的方面是視圖定義可以實際上已經從某種程度上完全不同的東西進行了修改。我懷疑它實際上是閃回期待的last_ddl_time。 –