Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle udziela pozwolenia na wykonanie

Wewnątrz pakietów, przywileje nadane pośrednio (poprzez rolę) są odrzucane. Musisz przyznać niezbędne uprawnienia do podstawowych obiektów bezpośrednio na konto; przykład:

conn sys/[email protected] as sysdba
create user A identified by A;
grant connect, dba to A;
conn A/[email protected]
create table test_tab(pk number);

conn sys/[email protected] as sysdba
create user B identified by B;
grant connect, dba to B;
conn B/[email protected]
select * from A.test_tab; -- this works

create or replace procedure do_it as
l_cnt pls_integer;
begin
  select count(*) into l_cnt from A.test_tab; -- error on compile
end;

W tym przykładzie potrzebujesz

grant select on A.test_tab to B;

aby to działało (nie ma znaczenia, czy używasz dynamicznego czy statycznego SQL).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle konwertuje RAW na format daty

  2. Oracle SQL :sortuj wiersz z rozdzielanym ciągiem

  3. Problem z wymianą referencji w Visual Studio-ASP.NET

  4. Left join nie daje wartości null w tabeli sql

  5. LUB Baza danych/typ w programie Oracle Express/SQL Developer