Pour écrire une fonction ou une procédure à l'aide d'une table dans un autre schéma, le propriétaire de la table doit nous accorder le privilège requis. Par exemple :
SQL> conn hr/hr
SQL> grant select on employees to mousumi;
ou demandez à un super utilisateur de le faire pour vous :
SQL> conn dba_user/password
SQL> grant select on hr.employees to mousumi;
Des privilèges peuvent être accordés à des rôles, mais nous ne pouvons pas utiliser ces privilèges pour créer des procédures ou des vues. À cette fin, les privilèges doivent nous être accordés directement. En savoir plus .
Lorsque nous y faisons référence, nous devons inclure le nom du schéma :
SQL> select * from hr.employees;
Alternativement, nous pouvons créer un synonyme pour cela.
SQL> create synonym employee_table for hr.employees;
SQL> select * from employee_table;
Le synonyme n'est qu'une étiquette :il peut s'agir de tout ce que nous voulons, à condition qu'il soit unique dans notre schéma (et conforme aux conventions de nommage d'Oracle). En savoir plus .