sql >> Database >  >> RDS >> Oracle

Hoe opgeslagen procedures te schrijven met behulp van tabellen uit een ander schema?

Om een ​​functie of procedure te schrijven met behulp van een tabel in een ander schema, moet de eigenaar van de tabel ons de vereiste rechten verlenen. Bijvoorbeeld:

SQL>  conn hr/hr
SQL>  grant select on employees to mousumi;

of vraag een supergebruiker om het voor je te doen:

SQL>  conn dba_user/password
SQL>  grant select on hr.employees to mousumi;

Er kunnen rechten worden toegekend aan rollen, maar we kunnen die rechten niet gebruiken om procedures of views te creëren. Daartoe moeten de privileges rechtstreeks aan ons worden verleend. Meer informatie .

Als we ernaar verwijzen, moeten we de schemanaam opnemen:

SQL>  select * from hr.employees;

Als alternatief kunnen we er een synoniem voor maken.

SQL>  create synonym employee_table for hr.employees;
SQL>  select * from employee_table;

Het synoniem is slechts een label:het kan alles zijn wat we willen, op voorwaarde dat het uniek is binnen ons schema (en voldoet aan de naamgevingsconventies van Oracle). Meer informatie .




  1. SQL Server - Ontleed de binnenkant van sp_spaceused

  2. MySQL slaat eerste 10 resultaten over

  3. SQL - Onvolledig combineren

  4. Het actieve resultaat bevat geen velden die PDO gebruiken met MS SQL