Bonjour,
Je cherche à créer une vue matérialisée qui est la jointure de deux tables et de lui appliquer un rafraichissement fast.
pour l'instant, toutes mes tentatives ont échoué.
voici le code très simple de création des tables:
J'ai fait deux tests pour la creation des journaux de vues matérialisées
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 create table emp(noemp number, nodept number); alter table EMP add constraint emp_pk primary key (NOEMP); create table dept(nodept number, noregion number); alter table DEPT add constraint dept_pk primary key (nodept); alter table EMP add constraint EMP_FK_DEPT foreign key (NODEPT) references dept (NODEPT);
1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 create materialized view log on emp; create materialized view log on dept;
2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 create materialized view log on emp with rowid,primary key; create materialized view log on dept with primary key,rowid;
voici les codes d'erreurs
1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 create materialized view mv_emp_by_region enable query rewrite as select count(*), noregion from emp, dept where emp.nodept=dept.nodept group by noregion; call dbms_mview.refresh('mv_emp_by_region','f')
ORA-12032: cannot use rowid column from materialized viex log on dept
2:
ORA-32401: materialized view log dept does not have new values
Je catche une 32401 ce qui m'étonne pour deux raisons:
1: et alors, ou est le problème s'il n'y a pas de nouvelles valeurs.
2: il y a de nouvelles valeurs, j'en ai rajouté et ait retesté le rafraichissement et retombe sur la même erreur!!!!!!!
Une idée please
![]()
Partager