这是另一个刺我陷入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