CREATE MATERIALIZED VIEW TEST
BUILD IMMEDIATE
REFRESH COMPLETE ON DEMAND
AS
WITH test1
AS ( SELECT EMPY_UID,
PRDE_UID,
PRDE_DATDEBMVT,
PRDE_DATFINMVT,
DAT.DATES V_DATCPT
FROM (SELECT /*+ USE_HASH(TPAI,VLEMP,EMPY,PRDE) */
EMP.EMPY_UID EMPY_UID,
PRDE.PRDE_UID PRDE_UID,
PRDE.PRDE_DATDEBMVT PRDE_DATDEBMVT,
PRDE.PRDE_DATFINMVT PRDE_DATFINMVT
FROM GRH_EMPLOYES EMP
INNER JOIN GRH_PERIODES PRDE
ON EMP.EMPY_TYPEMP = 1
AND PRDE.PRDE_CLO != 1 and PRDE.PRDE_VLD != 1
AND emp.empy_uid = 1093
AND emp.empy_UID IN
(SELECT EMPY.EMPY_UID
FROM GRH_EMPLOYES EMPY
INNER JOIN
V_GRH_PAI_LISTEMPLOYESCALCP
VLEMP
ON EMPY.EMPY_UID =
VLEMP.EMPY_UID + 0
WHERE EMPY.GRPE_UID <> 4
AND EMPY.pstn_uid + 0 = 26)
INNER JOIN GRH_TYPEPAIE TPAI
ON PRDE.TPAI_UID = TPAI.TPAI_UID
WHERE TPAI.TPAI_COD = '001' AND 1 = 1) EMPPRD
INNER JOIN
(SELECT (SELECT PRDE.PRDE_DATDEBADM
FROM GRH_PERIODES PRDE, GRH_TYPEPAIE TPAI
WHERE TPAI.TPAI_COD = '001'
AND PRDE.PRDE_UID =
ANY (SELECT MAX (PRDE1.PRDE_UID)
FROM GRH_PERIODES PRDE1,
GRH_TYPEPAIE TPAI1
WHERE PRDE1.PRDE_VLD = 1
AND TPAI1.TPAI_COD =
'001'
AND PRDE1.TPAI_UID =
TPAI1.TPAI_UID
INTERSECT
SELECT PRDE.PRDE_UID
FROM GRH_PERIODES PRDE
WHERE PRDE.TPAI_UID =
TPAI.TPAI_UID)
AND PRDE.TPAI_UID = TPAI.TPAI_UID
AND TPAI.TPAI_COD = '001')
+ ROWNUM
- 1
DATES
FROM all_objects
WHERE ROWNUM <= 90) DAT
ON DAT.DATES BETWEEN TO_DATE (
TO_CHAR (EMPPRD.PRDE_DATDEBMVT,
'DD/MM/YYYY'),
'DD/MM/YYYY')
AND TO_DATE (
TO_CHAR (EMPPRD.PRDE_DATFINMVT,
'DD/MM/YYYY'),
'DD/MM/YYYY')
GROUP BY EMPY_UID,
PRDE_UID,
PRDE_DATDEBMVT,
PRDE_DATFINMVT,
DAT.DATES)
SELECT EMPY_UID,
PRDE_UID,
V_DATCPT,
PKG_GRH_MVT.GRH_MVT_ISABSENCEIRREGULIER (
V_DATCPT,
EMPY_UID,
GRH_MVT_EXISTANCEPTG (EMPY_UID,
PRDE_UID,
PRDE_DATDEBMVT,
PRDE_DATFINMVT),
PRDE_UID)
ABSIRR,
PKG_GRH_MVT.GRH_MVT_ISABSENCEMALADIE (
V_DATCPT,
EMPY_UID,
GRH_MVT_EXISTANCEPTG (EMPY_UID,
PRDE_UID,
PRDE_DATDEBMVT,
PRDE_DATFINMVT),
PRDE_UID)
ABSMLD,
PKG_GRH_MVT.GRH_MVT_ISABSENCESANCTION (
V_DATCPT,
EMPY_UID,
GRH_MVT_EXISTANCEPTG (EMPY_UID,
PRDE_UID,
PRDE_DATDEBMVT,
PRDE_DATFINMVT),
PRDE_UID)
ABSSANCTION,
PKG_GRH_MVT.GRH_MVT_ISABSENCEACCIDENT (
V_DATCPT,
EMPY_UID,
GRH_MVT_EXISTANCEPTG (EMPY_UID,
PRDE_UID,
PRDE_DATDEBMVT,
PRDE_DATFINMVT),
PRDE_UID)
ABSENCEACCIDENT,
PKG_GRH_MVT.GRH_MVT_ISFORMATION (
V_DATCPT,
EMPY_UID,
GRH_MVT_EXISTANCEPTG (EMPY_UID,
PRDE_UID,
PRDE_DATDEBMVT,
PRDE_DATFINMVT),
PRDE_UID)
NBRFORMATION,
PKG_GRH_MVT.GRH_MVT_ISABSENCEMISEENDISPO (V_DATCPT, EMPY_UID)
ABSENCEMISEENDISPO,
PKG_GRH_MVT.GRH_MVT_ISABSENCESOUSDRAPEAU (V_DATCPT, EMPY_UID)
ABSENCESOUSDRAPEAU,
PKG_GRH_MVT.GRH_MVT_ISABSENCECNGSANSSOLDE (
V_DATCPT,
EMPY_UID,
GRH_MVT_EXISTANCEPTG (EMPY_UID,
PRDE_UID,
PRDE_DATDEBMVT,
PRDE_DATFINMVT),
PRDE_UID)
ABSENCECNGSANSSOLDE,
PKG_GRH_MVT.GRH_MVT_ISABSENCEENTREE (V_DATCPT, EMPY_UID) ABSENCEENTREE,
PKG_GRH_MVT.GRH_MVT_ISABSENCEDEPART (V_DATCPT, EMPY_UID) ABSENCEDEPART,
PKG_GRH_MVT.GRH_MVT_ISCONGEANN (V_DATCPT,
EMPY_UID,
GRH_MVT_EXISTANCEPTG (EMPY_UID,
PRDE_UID,
PRDE_DATDEBMVT,
PRDE_DATFINMVT),
PRDE_UID)
CNGANN,
PKG_GRH_MVT.GRH_MVT_ISFERIER (V_DATCPT,
EMPY_UID,
GRH_MVT_EXISTANCEPTG (EMPY_UID,
PRDE_UID,
PRDE_DATDEBMVT,
PRDE_DATFINMVT),
PRDE_UID)
FERIER,
PKG_GRH_MVT.GRH_MVT_ISAUTRE (V_DATCPT,
EMPY_UID,
GRH_MVT_EXISTANCEPTG (EMPY_UID,
PRDE_UID,
PRDE_DATDEBMVT,
PRDE_DATFINMVT),
PRDE_UID)
AUTRE,
PKG_GRH_MVT.GRH_MVT_ISREPOS (V_DATCPT,
EMPY_UID,
GRH_MVT_EXISTANCEPTG (EMPY_UID,
PRDE_UID,
PRDE_DATDEBMVT,
PRDE_DATFINMVT),
PRDE_UID)
REPOS,
PKG_GRH_CNG.GRH_CNG_ISJOURREPOSHEB (V_DATCPT, EMPY_UID)
V_JOURREPOSHEB,
PKG_GRH_CNG.GRH_CNG_ISJOUROEUVRET (V_DATCPT, EMPY_UID) V_JOUROEUVRET,
PKG_PRM_GLOBAL.PRM_ISJOURFERIER (V_DATCPT) V_JOURFERIER
FROM test1
Asked
Active
Viewed 31 times
-2

Aymen
- 1
-
What happened when you tried? – Nov 18 '19 at 12:04
1 Answers
2
Use DBMS_MVIEW.EXPLAIN_MVIEW()
to understand what you can do with this materialized view.
From the docs:
This procedure enables you to learn what is possible with a materialized view or potential materialized view. For example, you can determine if a materialized view is fast refreshable and what types of query rewrite you can perform with a particular materialized view.

APC
- 144,005
- 19
- 170
- 281