2013-11-15 151 views
0

我是oracle新手,我想知道是否可以在視圖之上創建物化視圖。我還需要在mview中有一個列,其中有一個複雜的計算,我正在考慮編寫一個函數。在視圖上創建物化視圖

+0

是的,你可以通過審查創建一個物化視圖。我不知道你需要什麼,需要什麼,或者嘗試過使用函數來填充列。請分享示例和您嘗試過的代碼。 – Wolf

回答

1

有物化視圖,然後又有物化視圖。

我的意思是物化視圖的能力可以根據它引用的表(或視圖)的確切性質以及根據它們的屬性在查詢重寫和刷新方面有很大不同。

因此,儘管您可能能夠創建引用視圖的MV,但是否對您有用還是取決於很多其他問題。

我發現文檔有時可能不清楚,特別是在邊緣情況下,最好的方法是創建MV,然後使用Oracle內置過程測試其功能 - 這裏是DBMS_MView的鏈接10.2 http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_mview.htm#CEGGEHHC

+0

感謝您的幫助。只是有一個小問題:是否可以在物化視圖內調用用戶定義的函數,還是隻能使用select語句? –

+0

如果它是一個確定性函數,那麼很有可能,但它可能甚至是小版本依賴。我認爲,查詢重寫不太可能奏效。 –

+0

再次嗨。我在一個引用基表(test_table1&test_table2)的視圖(test_view)上創建了物化視圖。你能否幫我解釋如何在插入/更新/刪除到第一個表test_table1時創建增量刷新?我在這兩個表上創建了物化視圖日誌,但更新後的數據僅反映在完整刷新中。 –