Per scrivere una funzione o una procedura utilizzando una tabella in un altro schema, il proprietario della tabella deve concederci il privilegio richiesto. Ad esempio:
SQL> conn hr/hr
SQL> grant select on employees to mousumi;
oppure chiedi a un super utente di farlo per te:
SQL> conn dba_user/password
SQL> grant select on hr.employees to mousumi;
I privilegi possono essere concessi ai ruoli, ma non possiamo utilizzare tali privilegi per creare procedure o viste. A tal fine i privilegi devono essere concessi direttamente a noi. Scopri di più .
Quando facciamo riferimento, dobbiamo includere il nome dello schema:
SQL> select * from hr.employees;
In alternativa possiamo creare un sinonimo per esso.
SQL> create synonym employee_table for hr.employees;
SQL> select * from employee_table;
Il sinonimo è solo un'etichetta:può essere qualsiasi cosa ci piace, purché sia univoca all'interno del nostro schema (e conforme alle convenzioni di denominazione di Oracle). Scopri di più .