无法为实体化视图设置 ON COMMIT 刷新属性???
zsl 2004-07-14 11:28:40 下面语句创建物化视图不成功,为什么???
我已经在INIT.ORA参数中设置query_rewrite_enabled=true
连接到:
Oracle8i Enterprise Edition Release 8.1.7.4.1 - Production
With the Partitioning option
JServer Release 8.1.7.4.1 - Production
SQL> CREATE materialized VIEW VW_ZY_BRJFXX
2 build immediate
3 refresh on commit
4 enable query rewrite
5 AS
6 select
7 A.DJH000 , --单据流水号
8 A.BRID00 , --病人ID号
9 E.BRXM00 , --姓名
10 E.BRXB00 , --性别
11 E.BRCSRQ , --出生日期
12 E.MRN000 , --病案号
13 A.JFLBID , --帐户类别ID
14 C.JFLBMC , --病人帐户名称
15 A.JFJE00 , --交费金额
16 A.ZFFS00 , --支付方式编码
17 H.ZFFSMC , --支付方式名称
18 A.ZPH000 , --支票或银行本票号
19 A.ZPDWMC , --出票单位/出票人
20 A.ZPZH00 , --出票单位帐号
21 A.ZPKHYH , --出票的开户银行
22 A.ZPCPRQ , --出票日期
23 A.ZPCPYY , --出票原因
24 A.ZPLX00 , --票据类型(如:信用卡类别)
25 A.ZPSPR0 , --支票审批人
26 A.ZPLXR0 , --支票联系人
27 A.ZPLXFS , --支票联系人的联系方式
28 A.PJH000 , --打印的预交金票据上的内部号
29 A.JFRQ00 , --操作日期
30 A.JFSJ00 , --操作时间
31 A.JFCZY0 , --操作员编号
32 D.ZWXM00 , --操作员姓名
33 A.BRYE00 , --病人余额
34 A.JFBZ00 , --交费标志,'0'交预交金,'1'退预交金
35 DECODE(A.JFBZ00,
36 '0','交费',
37 '1','退费',
38 '2','作废',
39 '未知' ) as JFBZMC , --交费标志名称
40 A.JZDH00 , --结算单号
41 A.JKBID0 , --缴款单号
42 F.PJXH00 , --票据序列号
43 F.PLBH00 , --票据类型
44 F.PLMC00 --票据名称
45 FROM ZY_BRJFB0 A,BM_BRJFLB C,BM_YGBM00 D,BM_BRXXB0 E,ZY_PJSYQK F,BM_BRZF
H,ZY_BRXXB0 B
46 where A.JFLBID = C.JFLBID
47 and A.ZFFS00 = H.ZFFSBH
48 and A.JFCZY0 = D.YGBH00
49 and A.BRID00 = E.BRID00(+) --考虑现金病人没有BRID00
50 and A.PJH000 = F.PJH000(+) --交费表中的票据号可能在票据使用表中不存在
51 and A.ZYID00 = B.ZYID00;
FROM ZY_BRJFB0 A,BM_BRJFLB C,BM_YGBM00 D,BM_BRXXB0 E,ZY_PJSYQK F,BM_BRZFFS H,
_BRXXB0 B
*
ERROR 位于第 45 行:
ORA-12054: 无法为实体化视图设置 ON COMMIT 刷新属性
SQL>