Um eine Funktion oder Prozedur unter Verwendung einer Tabelle in einem anderen Schema zu schreiben, muss uns der Tabelleneigentümer die erforderliche Berechtigung erteilen. Zum Beispiel:
SQL> conn hr/hr
SQL> grant select on employees to mousumi;
oder bitten Sie einen Superuser, dies für Sie zu tun:
SQL> conn dba_user/password
SQL> grant select on hr.employees to mousumi;
Berechtigungen können Rollen gewährt werden, aber wir können diese Berechtigungen nicht verwenden, um Prozeduren oder Ansichten zu erstellen. Dazu müssen uns die Privilegien direkt eingeräumt werden. Weitere Informationen .
Wenn wir darauf verweisen, müssen wir den Schemanamen angeben:
SQL> select * from hr.employees;
Alternativ können wir ein Synonym dafür erstellen.
SQL> create synonym employee_table for hr.employees;
SQL> select * from employee_table;
Das Synonym ist nur eine Bezeichnung:Es kann alles sein, was wir wollen, vorausgesetzt, es ist innerhalb unseres Schemas eindeutig (und entspricht den Namenskonventionen von Oracle). Weitere Informationen .