oracle view grant,view需要with grant option的情况

在创建视图时,假设有a、b、c 3个用户,其中a用户下有1张表,b用户下建立1个视图,基于a用户下的表,此时b用户需要对a用户的这张表具有select权限。

c用户需要查询b用户下的这张视图,c用户不但需要具有这张视图的select权限,还需要b用户可以将a用户下的表的select权限级联赋给c用户的权限,即得到a用户授权时具有with grant option。

1.创建3个用户,分别为a,b,c,默认表空间为ldy,只有用户a具有配额,3个用户均有connect角色。

SQL> create user a identified by a default tablespace ldy;

用户已创建。

SQL> create user b identified by b default tablespace ldy;

用户已创建。

SQL> create user c identified by c default tablespace ldy;

用户已创建。

SQL> grant connect to a;

授权成功。

SQL> grant connect to b;

授权成功。

SQL> grant connect to c;

授权成功。

SQL> alter user a quota 10m on ldy;

用户已更改。

SQL> grant create table to a;

授权成功。

SQL> grant create view to b;

授权成功。

2.用a用户建立表a,插入4

在创建视图时,假设有a、b、c 3个用户,其中a用户下有1张表,b用户下建立1个视图,基于a用户下的表,此时b用户需要对a用户的这张表具有select权限。 c用户需要查询b用户下的这张视图,c用户不但需要具有这张视图的select权限,还需要b用户可以将a用户下的表的select权限级联赋给c用户的权限,即得到a用户授权时具有with grant option。 1.创建3个用户,分别为a,b,c,默认表空间为ldy,只有用户a具有配额,3个用户均有connect角色。 SQL> create user a identified by a default tablespace ldy; 用户已创建。 SQL> create user b identified by b default tablespace ldy; 用户已创建。 SQL> create user c identified by c default tablespace ldy; 用户已创建。 SQL> grant connect to a; 授权成功。 SQL> grant connect to b; 授权成功。 SQL> grant connect to c; 授权成功。 SQL> alter user a quota 10m on ldy; 用户已更改。 SQL> grant create table to a; 授权成功。 SQL> grant create view to b; 授权成功。 2.用a用户建立表a,插入4
经验分享 程序员 微信小程序 职场和发展