Je ne sais pas dans quelle vue votre outil va chercher, probablement ALL_TRIGGERS.
Or on constate à l'usage qu'on voit dans ALL_TRIGGERS les déclencheurs applicatifs :
1) des tables dont on est le propriétaire
2) des tables sur lesquelles on a un privilège SELECT direct (c'est à dire GRANT SELECT on TOTO.TABLE, et non pas SELECT ANY TABLE ni SELECT ANY DICTIONARY).
Le privilège CREATE ANY TRIGGER aura pour effet de rendre tous les déclencheurs visibles dans ALL_TRIGGERS.
Maintenant, il n'est pas souhaitable en général d'utiliser les privilèges de type ANY. Même si votre base est dédiée actuellement à vos 7 schémas, ce sera un problème si vous devez en ajouter un autre sur lequel vous ne devez pas avoir de droits. Ce sera aussi un problème si un jour vous devez installer ces schémas dans une base mutualisée.
De plus, CREATE ANY TRIGGER permet à vos utilisateurs de créer des déclencheurs partout, ce qui n'est pas souhaitable j'imagine.
Je pense que la solution présentant le moins d'inconvénients sera de donner le droit sur DBA_TRIGGERS :
grant select on DBA_TRIGGERS to xxx;
Mais est-ce que PL/SQL DEvelopper l'utilise...
Partager