Bonchour !

J'ai créé une grosse vue matérialisée avec ces paramètre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
PARALLEL 3
BUILD IMMEDIATE
REFRESH ON DEMAND COMPLETE
WITH PRIMARY KEY
START WITH sysdate
Elle est construite avec une requete dite "complexe".
Pour la mettre à jour lorsque les tables constituant cette requête sont modifiées j'ai créé ce déclencheur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
CREATE OR REPLACE TRIGGER "SCOTT"."TRIGGER_MATABLE" 
AFTER DELETE OR UPDATE ON "MATBLE"
DECLARE 
	PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
	dbms_refresh.refresh('vm_marge_emetteur');
END;
Je n'ai pas d'erreur, mon soucis et l'utilisation forcé du pragma.
En effet, si je met à jour la table MATABLE, cette mise à jour n'est pas répercutée.

Les répercutions sont décalés, si je modifie cette même table, la mise à jour précédent est visible. Surement dû à la transaction autonome.

Comment pourrais-je avoir une propagation en temps réel sachant que je ne peux utilisé d'option ON UPDATE pour la VM.