Bonjour,

J'essaie de comprendre le comportement du trigger Voici un exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
AFTER INSERT OR DELETE OR UPDATE 
    ON mytbl
    FOR EACH STATEMENT
    EXECUTE FUNCTION myfunc();

  • Peu importe le nombre d'insertions, de mises à jour ou de suppressions dans mytbl, myfunc() ne sera exécutée qu'une seule fois, seulement à la fin des DML ?
  • myfunc() exécute 8 commandes REFRESH de vues matérialisées à travers un FOR...LOOP. Mais dans le journal, je ne peux lire qu'un seul CONTEXTE : l'instruction SQL "refresh materialized view unevuemat". Plus loin, je vois un vaccum automatique et un analyze pour toutes les vues matérialisées. Les 8 vues sont-elles toutes rafraîchies de toute façon ?


Merci pour votre éclairage,