Bonjour,
Je vais dire la même chose que dari68, mais en tâchant d'être plus explicite.
Ne vous souciez plus des droits : votre utilisateur XYZ dispose déjà des privilèges adéquats pour ce que vous voulez faire.
Mais pour accéder à une table appartenant à un autre utilisateur (c'est-à-dire dans un autre schéma), il faut indiquer l'emplacement de cette table en la préfixant par le nom de l'utilisateur en question (il faut pouvoir distinguer des tables ayant le même nom mais possédées par des utilisateurs différents). Autrement, seuls les objets possédés par l'utilisateur qui exécute la requête sont pris en compte.
SELECT * FROM ABC.table_de_abc;
Si vous ne voulez pas préciser ABC. à chaque requête, vous pouvez créer un synonyme qui vous dispensera de le faire.
CREATE SYNONYM table_de_abc FOR ABC.table_de_abc
Ce qui créera dans le schéma XYZ un objet nommé table_de_abc qui pointera sur la table table_de_abc du schéma ABC.
Partager