首页 > 解决方案 > Oracle 物化视图:提交时快速刷新

问题描述

我创建了表 mails_outside、contacts_firm 和 contacts_outside。现在我想根据它们制作一个物化视图,这样用户就可以访问只与他自己相关的邮件。我希望它在每次提交时刷新,所以最好是快速刷新,但由于某种原因,我无法做到,因为“物化视图在提交时不满足刷新条件”。当然,我创建了物化视图日志。有什么办法可以使这种观点起作用吗?

物化视图

CREATE MATERIALIZED VIEW MV_US1_OUTSIDE
REFRESH FAST
ON COMMIT
AS
SELECT mo.rowid AS mo_rowid,
       cf.rowid AS cf_rowid,
       co.rowid AS co_rowid,
       mo.arrival_date,
       co.address,
       co.last_name || ' ' || co.first_name name,
       mo.message
  FROM mails_outside mo, contacts_firm cf, contacts_outside co
 WHERE mo.id_receiver = cf.id_contact
   AND mo.id_sender = co.id_contact
   AND cf.nick_name = user;

物化视图日志

CREATE MATERIALIZED VIEW LOG ON mails_outside
WITH rowid
INCLUDING NEW VALUES;

CREATE MATERIALIZED VIEW LOG ON contacts_firm
WITH rowid
INCLUDING NEW VALUES;

CREATE MATERIALIZED VIEW LOG ON contacts_outside
WITH rowid
INCLUDING NEW VALUES;

标签: sqloraclematerialized-viewsoracle18c

解决方案


推荐阅读