【发布时间】:2020-05-04 20:30:59
【问题描述】:
我们正在处理刷新 FORCE 或 COMPLETE 时成功创建的物化视图,但刷新 FAST 时它不会创建 MV。错误总是“定义中缺少某些表的 ROWID,或者外部连接的内部表在连接列上没有 UNIQUE 约束。”或“复杂查询既不支持 ROWID 也不支持主键约束。”
下面是查询-
-- MATERIALIZED VIEW log for A
CREATE MATERIALIZED VIEW LOG ON SCHEMA.A
TABLESPACE A_SCHEMA_DATA
WITH PRIMARY KEY
INCLUDING NEW VALUES;
-- MATERIALIZED VIEW log for B
CREATE MATERIALIZED VIEW LOG ON A_SCHEMA.B
TABLESPACE A_SCHEMA_DATA
WITH PRIMARY KEY
INCLUDING NEW VALUES;
-- MATERIALIZED VIEW Query
CREATE MATERIALIZED VIEW A_SCHEMA.MV_A1
BUILD IMMEDIATE
REFRESH FAST ON DEMAND
AS
SELECT * FROM (
SELECT
A.T_ID,
B.NAME AS NAME,
B.ANS AS ANS
FROM A_SCHEMA.A A, A_SCHEMA.B B
WHERE A.T_ID = B.T_ID AND
B.NAME IN ('Order', 'Price')
)
PIVOT
(
MAX(to_char(SUBSTR(ANS, 0,100)))
FOR NAME IN ('Order' ORDER, 'Price' PRICE)
)
ORDER BY A.CREATED_DATE BY DESC;
【问题讨论】:
标签: oracle view oracle11g pivot-table