【发布时间】:2021-01-18 09:38:09
【问题描述】:
我正在尝试创建如下的物化视图并出现错误,请指教。
Oracle 版本:12.2.0.1.0
CREATE MATERIALIZED VIEW EDW_TEST_MV
REFRESH FAST ON DEMAND
ENABLE QUERY REWRITE
AS
(
SELECT
distinct TXN_REF,
ACQ_ENT_KEY,
ACQ_SR_BNK_KEY,
ISS_ENT_KEY,
ISS_SR_BNK_KEY,
ACQ_INST_ID,
ISS_INST_ID,
INTMNT_MRCHNT_KEY,
TXN_MD_KEY ,
TXN_TP_KEY,
TXN_TRMSN_DT ,
TXN_LCL_DT ,
TXN_TIMEOUT,
SRC_ACQ_MEM ,
TXN_AUTH_CD,
JV_ERROR_CD,
DST_DENIAL_CD,
DST_ISS_MEM,
STTS,
ACQ_NODE_ID ,
ISS_NODE_ID ,
RRN,
URN,
GOV_ORGSC_URN,
TXN_AMT,
SRC_SYS_KEY
FROM EDW_TEST_F)
group by
ACQ_ENT_KEY,
ACQ_SR_BNK_KEY,
ISS_ENT_KEY,
ISS_SR_BNK_KEY,
ACQ_INST_ID,
ISS_INST_ID,
INTMNT_MRCHNT_KEY,
TXN_MD_KEY ,
TXN_TP_KEY,
TXN_TRMSN_DT ,
TXN_LCL_DT ,
TXN_TIMEOUT,
SRC_ACQ_MEM ,
TXN_AUTH_CD,
JV_ERROR_CD,
DST_DENIAL_CD,
DST_ISS_MEM,
STTS,
ACQ_NODE_ID ,
ISS_NODE_ID,
SRC_SYS_KEY
);
group by
*
ERROR at line 34:
ORA-00933: SQL command not properly ended
【问题讨论】:
-
行:
FROM EDW_TEST_F)- 去掉括号 -
如果您想将
FAST REFRESH与 DISTINCT 和/或 GROUP 一起使用,您需要做更多的事情,请参阅 stackoverflow.com/questions/49578932/… 您还必须在基表上创建MATERIALIZED VIEW LOGS -
谢谢。我已经创建了 MV 日志。同时我会检查快速刷新选项。如果我删除括号,我会收到错误:FROM EDW_TEST_F * ERROR at line 33: ORA-00979: not a GROUP BY expression
-
为什么是
distinct和group by?您可以完全删除group by,因为您没有使用任何聚合函数
标签: oracle view materialized