Oracle
 sql >> Database >  >> RDS >> Oracle

Come scrivere stored procedure utilizzando tabelle da un altro schema?

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ù .