sql >> Database >  >> RDS >> Oracle

Oracle verleent toestemming voor uitvoeren

Binnen pakketten worden indirect (via een rol) verleende privileges geschrapt. U moet de nodige privileges toekennen op de onderliggende objecten rechtstreeks naar de rekening; voorbeeld:

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;

In dit voorbeeld heeft u een

. nodig
grant select on A.test_tab to B;

om het te laten werken (het maakt niet uit of u dynamische of statische SQL gebruikt).



  1. Laravel 4 :Hoe krijg ik geselecteerde/specifieke kolommen in een veel-op-veel relatie?

  2. De beschikbaarheid van kamers beheren op basis van dagen of maanden bezetting

  3. pgmemcache versus oneindige cache

  4. MySQL-opdrachtregelopmaak met UTF8