आपने जो वर्णन किया है वह काम नहीं करता है। उपयोगकर्ता ए के रूप में:
create table t (id number);
Table T created.
grant select on t to b;
Grant succeeded.
उपयोगकर्ता बी के रूप में:
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
विशेषाधिकार इसे दरकिनार नहीं करता है; हालांकि कुछ (शक्तिशाली) विशेषाधिकार होना चाहिए जो एक पूर्ण डीबीए के रूप में कर सकते हैं b.v से c पर grant select on b.v to c
।