| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- set serveroutput on
- DECLARE
- CNT NUMBER(1);
- BEGIN
- SELECT COUNT(*) INTO CNT FROM USER_MVIEWS WHERE MVIEW_NAME='D2_MEASR_QTY_MV';
- IF (CNT > 0) THEN
- EXECUTE IMMEDIATE 'DROP MATERIALIZED VIEW D2_MEASR_QTY_MV';
- DBMS_OUTPUT.PUT_LINE(' D2_MEASR_QTY_MV View Dropped');
- END IF;
- END;
- /
- CREATE MATERIALIZED VIEW D2_MEASR_QTY_MV PARALLEL BUILD DEFERRED REFRESH COMPLETE ON DEMAND START WITH SYSDATE DISABLE QUERY REWRITE
- AS
- SELECT T1.MEASR_COMP_ID AS MEASR_COMP_ID,
- T1.measr_comp_type_Cd as MEASR_COMP_TYPE_CD,
- T1.POSTAL AS POSTAL ,
- MCTYP.DESCR100 AS MC_TYPE_DESCR ,
- T1.CITY AS CITY,
- T1.DEVICE_TYPE_CD AS DEVICE_TYPE_CD,
- DVTL.DESCR100 AS DEVICE_TYPE_DESCR ,
- T1.HEAD_END_SYSTEM_CD AS HEAD_END_SYSTEM_CD ,
- SPRL.DESCR100 AS HEAD_END_SYSTEM_DESCR ,
- T1.USG_CALC_GRP_CD AS USG_CALC_GRP_CD,
- USGRL.DESCR100 AS USG_CALC_GRP_DESCR ,
- T1.MKT_CD AS MKT_CD,
- MKTL.DESCR100 AS MKT_DESCR ,
- T1.SPR_CD AS D1_SPR_CD ,
- SPRL1.DESCR100 AS SPR_DESCR ,
- T1.D1_SVC_TPE_CD AS D1_SVC_TPE_CD,
- SVTL.DESCR100 AS SVC_TYPE_DESCR ,
- T1.MKT_REL_TYPE_FLG AS MKT_REL_TYPE_FLG ,
- LKPL.DESCR AS MKT_REL_TYPE_DESCR ,
- T1.MANUFACTURER_CD AS MANUFACTURER_CD,
- DMNL.DESCR100 AS MANUFACTURER_DESCR ,
- T1.D1_MODEL_CD AS D1_MODEL_CD,
- DMDL.DESCR100 AS MODEL_DESCR ,
- T1.GEO_CODE
- FROM
- (SELECT
- /*+ INDEX(mc,D1M252S2) */
- mc.measr_comp_id,
- mc.measr_comp_type_Cd,
- MAX(DECODE(m.char_type_cd ,'D2POSTCD',m.SRCH_CHAR_VAL,NULL)) AS postal,
- MAX(DECODE(trim(m.char_type_cd) ,'D2CITY',m.SRCH_CHAR_VAL,NULL)) AS city,
- MAX(DECODE(trim(m.char_type_cd) ,'D2DVCTYP',m.SRCH_CHAR_VAL,NULL)) AS DEVICE_TYPE_CD,
- MAX(DECODE(trim(m.char_type_cd) ,'D2HEADED',m.SRCH_CHAR_VAL,NULL)) AS head_end_system_cd,
- MAX(DECODE(trim(m.char_type_cd) ,'D2USGGRP',m.SRCH_CHAR_VAL,NULL)) AS usg_calc_grp_cd,
- MAX(DECODE(trim(m.char_type_cd) ,'D2MARKET',m.SRCH_CHAR_VAL,NULL)) AS mkt_cd,
- MAX(DECODE(trim(m.char_type_cd) ,'D2SPR',m.SRCH_CHAR_VAL,NULL)) AS spr_cd,
- MAX(DECODE(trim(m.char_type_cd) ,'D2SVCTYP',m.SRCH_CHAR_VAL,NULL)) AS d1_svc_tpe_cd,
- MAX(DECODE(trim(m.char_type_cd) ,'D2MKRLTY',m.SRCH_CHAR_VAL,NULL)) AS mkt_rel_type_flg,
- MAX(DECODE(trim(m.char_type_cd) ,'D2MANUF',m.SRCH_CHAR_VAL,NULL)) AS manufacturer_cd,
- MAX(DECODE(trim(m.char_type_cd) ,'D2MODEL',m.SRCH_CHAR_VAL,NULL)) AS d1_model_cd,
- MAX(DECODE(trim(m.char_type_cd) ,'D2GEOCD',m.SRCH_CHAR_VAL,NULL)) AS geo_code,
- mc.bus_obj_cd,
- f1.language_cd
- FROM d1_measr_comp mc,
- d1_measr_comp_type mct,
- d1_measr_comp_char m,
- f1_installation f1
- WHERE mc.measr_comp_id =m.measr_comp_id
- AND m.char_type_cd IN ('D2POSTCD' ,'D2CITY','D2DVCTYP','D2HEADED','D2USGGRP','D2MARKET','D2SPR','D2SVCTYP','D2MKRLTY','D2MANUF','D2MODEL','D2GEOCD')
- AND mc.bus_obj_cd = 'D2-MeasuredQuantityAggregator '
- AND mc.BO_STATUS_CD = 'ACTIVE'
- AND mc.measr_comp_type_cd = mct.measr_comp_type_cd
- AND mct.mc_class_flg = 'D1AG'
- AND m.effdt =
- (SELECT MAX (a.effdt)
- FROM d1_measr_comp_char a
- WHERE a.measr_comp_id = m.measr_comp_id
- AND a.char_type_cd = m.char_type_cd
- )
- GROUP BY mc.measr_comp_id,
- mc.measr_comp_type_Cd,
- mc.bus_obj_cd,
- f1.language_cd
- ) T1,
- d1_measr_comp_type_l mctyp,
- d1_dvc_type_l dvtl,
- d1_spr_l sprl,
- d1_usg_grp_l usgrl,
- d1_mkt_l mktl,
- d1_spr_l sprl1,
- d1_svc_type_l svtl,
- ci_lookup_val_l lkpl,
- d1_manufacturer_l dmnl,
- d1_model_l dmdl
- WHERE T1.measr_comp_type_cd=mctyp.measr_comp_type_cd
- AND mctyp.language_cd = T1.language_cd
- AND T1.DEVICE_TYPE_CD =dvtl.device_type_cd
- AND T1.language_cd = dvtl.language_cd
- AND T1.head_end_system_cd =sprl.d1_spr_cd(+)
- AND T1.language_cd = sprl.language_cd(+)
- AND T1.usg_calc_grp_cd =usgrl.usg_grp_cd(+)
- AND T1.language_cd = usgrl.language_cd(+)
- AND T1.mkt_cd =mktl.mkt_cd(+)
- AND T1.language_cd = mktl.language_cd(+)
- AND T1.spr_cd =sprl1.d1_spr_cd(+)
- AND T1.language_cd = sprl1.language_cd(+)
- AND T1.d1_svc_tpe_cd =svtl.d1_svc_type_cd(+)
- AND T1.language_cd = svtl.language_cd(+)
- AND T1.mkt_rel_type_flg =lkpl.field_value(+)
- AND T1.language_cd = lkpl.language_cd(+)
- AND lkpl.field_name(+) = 'MKT_REL_TYPE_FLG'
- AND T1.manufacturer_cd =dmnl.manufacturer_cd(+)
- AND T1.manufacturer_cd = dmdl.manufacturer_cd(+)
- AND T1.language_cd = dmnl.language_cd(+)
- AND T1.d1_model_cd =dmdl.d1_model_cd(+)
- AND T1.language_cd = dmdl.language_cd(+)
- /
- CREATE unique index D2T100P0 on D2_MEASR_QTY_MV(MEASR_COMP_ID)
- /
- begin
- DBMS_MVIEW.REFRESH('D2_MEASR_QTY_MV','C');
- END;
- /
- ANALYZE TABLE D2_MEASR_QTY_MV COMPUTE STATISTICS
- /
|