Oracle
 sql >> база данни >  >> RDS >> Oracle

Заобикаляне на привилегията на таблицата и С ОПЦИЯ ЗА ПРЕДОСТАВЯНЕ чрез създаване на изгледи

Това което си описал не работи. Като потребител A:

create table t (id number);

Table T created.

grant select on t to b;

Grant succeeded.

Като потребител B:

create view v as select * from a.t;

View V created.

grant select on v to c;

SQL Error: ORA-01720: grant option does not exist for 'A.T'
01720. 00000 -  "grant option does not exist for '%s.%s'"
*Cause:    A grant was being performed on a view or a view was being replaced
           and the grant option was not present for an underlying object.
*Action:   Obtain the grant option on all underlying objects of the view or
           revoke existing grants on the view.

Това е споменато в документацията :

Дори grant any object privilege привилегията не заобикаля това; въпреки че трябва да има някаква (мощна) привилегия, която да прави както пълен DBA може направете grant select on b.v to c .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. изпълни SQL заявка, съхранена в таблица

  2. Преобразуване на деня от годината в дата, когато някои формати на дата имат DDYYYY, а някои имат DDDYYYY в oracle

  3. Стойността, вмъкната в таблицата в Oracle, не е запазена?

  4. Урок за формуляри и отчети за Oracle 9i, Oracle 10g и Oracle 11g Developer Suite

  5. Инсталирайте клиента на oracle в докер контейнер