Bonjour

J'ai cherché une réponse à ma questions dans l'historique mais sans succès. J'espère que quelqu'un pourra me proposer d'éventuelles solutions.

J'ai 2 schémas de base de donnée Oracle. Certaines données sont redondantes et donc présentes dans les 2 schémas. Les triggers sont utilisés pour maintenir la cohérence des données.

Pour chaque action insert/update/delete sur mon schéma1 j'ai donc un trigger qui s'exécute pour mettre à jour mon schéma2.

En ce qui concerne les insert et update, je n'ai aucun problème. Mes triggers se créent sans erreur et s'exécutent correctement.

Problème : Le trigger contenant l'instruction delete pose problème. Lorsque j'essaye de le créer j'ai le message suivant :

LINE/COL ERROR
-------- -------------------------------------------------
3/65530 PL/SQL: SQL Statement ignored
4/9 PL/SQL: ORA-01031: privilèges insuffisants
Le problème vient de l'instruction 'DELETE FROM ...'. Il semble que je n'ai pas les droits pour l'exécuter. Pourtant, si je ne connecte sur mon schéma1 et que j'exécute :
DELETE FROM SCHEMA2.MATABLE WHERE MATABLE_ID = 1
cela fonctionne bien.
Mon utilisateur "SCHEMA1" a donc bien le droit de faire des suppression (DELETE) sur mon schéma2. Pourtant, une fois la requête encapsulée dans un trigger ... cela ne passe plus.

Auriez vous une idée au sujet de ce problème.
J'ai cherché dans les droits liés aux triggers mais je n'ai rien trouvé.

Si vous voulez des précision, n'hésitez pas.

Merci pour votre lectures et vos éventuelles suggestions.

Wu