sql - 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;
解决方案
推荐阅读
- c++ - 如何反转 64 位整数的位?
- mysql - CloudSQL 实例上的备份/恢复
- python - SQLAlchemy 模型 @property 查询另一个模型
- .net - 如何在不使用 ServiceBehaviorAttribute 的情况下配置 WCF ConcurrencyMode?
- netezza - Netezza 使用夏令时将 UTC/GMT 转换为中部
- python - 为什么 Python 中这段代码的最终列表是空的?
- jquery - 获取数据并对其进行排序,而无需使用 ajax/datatables 刷新/重新加载页面
- vb.net - 日期数据类型与。日期时间结构与。日期和时间
- javascript - 为什么我们必须指定与 React Router DOM 中的其他 props 不同的组件 prop?
- python - 创建一个布尔表,比较列中的值是否重复出现在另一列中的相似值之上