這是另一個刺我陷入here的問題。請不要關閉, 因爲它在另一個方向。物化視圖與列聚合
我想用另一列的聚合自動更新數據庫列。 有三個表涉及:
T_RIDER
RIDER_ID
TMP_PONYLIST
...
T_RIDER_PONY
RIDER_ID
PONY_ID
T_PONY
PONY_ID
PONY_NAME
...
T_RIDER
和T_PONY
具有N:經由T_RIDER_PONY
米關係。 T_RIDER
和T_PONY
有一些更多的列,但只有TMP_PONYLIST
和PONY_NAME
在這裏是相關的。
TMP_PONYLIST
是一個分號散列表PONY_NAMES
,想象像"Twisty Tail;Candy Cane;Lucky Leaf"
。 無論T_RIDER_PONY
或T_PONY
發生了什麼,我都希望保持此字段爲最新。
所有的應用程序只能工作在視圖上,表格從不直接訪問,我需要用物化視圖解決這個問題。由於性能原因,物化是絕對需求 ,並且需要視圖在提交時自我更新。
的看法應該是這樣
CREATE MATERIALIZED VIEW
V_TMP_PONYLIST
BUILD IMMEDIATE
REFRESH COMPLETE ON COMMIT
AS SELECT
...
... ...。我嘗試了以下聚集技術從this article創建。
- WM_CONCAT - >不是在我的Oracle
- 用戶定義的聚合可用 - >
ORA-12054
- ROW_NUMBER和SYS_CONNECT_BY_PATH - >
ORA-12054
我沒有嘗試尚未:
- 特定功能
- Functi使用REF CURSOR通用功能
- Collect函數
你看到任何機會,以獲得任何這些與物化視圖的工作,或者是毫無意義的。你知道其他可能與物化視圖有關的技術嗎?
我正在使用Oracle數據庫10g企業版版本10.2.0.4.0 - 64bi。
我同意心態的東西。我已經深入地探究觸發器(另見我的另一個問題,上面的第一個鏈接)並排除它們。目前我只能探索物化視圖......當我確實知道物化視圖不可行時,我只會繼續前進。 – bbuser 2009-11-13 15:55:50
無法檢查鏈接,目前Oracle服務器似乎停止運行,但聽起來很有趣,謝謝。 – bbuser 2009-11-13 15:59:23