Bonjour à tous,
RDBMS 9.2.0.7
je dois permettre à un utilisateur LAMBDA de baser les paramétres d'entrées d'une procédure en PL/SQL sur les colonnes d'une table d'un autre schéma.
Du genre :
CREATE OR REPLACE PROCEDURE MyProc(MyParam IN MyTableOtherSchema.MyColumn%TYPE)
ce que j'ai fait :
-- créer un RULE spécifique que j'ai attribué à LAMBDA avec tous les
GRANT SELECT ON 'MyOtherSchema.MyTableOtherSchema'
nécessaires
--créer des synonymes publics pour éviter de préfixer le schéma MyOtherSchema dans les requetes SQL faisant appels à MyTableOtherSchema
--donner les droits de REFERENCES à LAMBDA sur MyTableOtherSchema
A ce niveau, LAMBDA peut :
- sélecter sans problémes les colonnes de la table de mon autre schéma
du genre
SELECT MyColumn FROM MyTableOtherSchema
- créer des constraints de type FK par exemple sur des colonnes de certaines de ces tables basées sur MyTableOtherSchema.MyColumn
Quand maintenant je fais un test de création de procédure PL/SQL comme décrit au début je me mange
PL/SQL: Compilation unit analysis terminated
PLS-00904: privilège insuffisant pour accéder à l'objet
MyOtherSchema.MyTableOtherSchema
y'a t-il un RULE spécifique ou privilége supplémentaire à ajouter à mon utilisateur pour permettre en PL/SQL de faire ce que j'ai décrit ?
merci de votre aide
En espérant avoir été clair, j'ai fait abstraction du métier en donnant un exemple 'bateau'
Partager