被授予references权限后的revoke测试
2025-04-14 09:24:14 阅读次数:1
权限,测试
文档课题:被授予references权限后的revoke测试.
> show user
USER is "ORA1"
> grant references on dept01 to leo;
> grant select on dept01 to leo;
> conn leo/leo@orclpdb;
> select * from user_tab_privs_recd;
OWNER TABLE_NAME GRANTOR PRIVILEGE GRA HIE COM TYPE INH
--------------- ---------- ---------- -------------------- --- --- --- ---------- ---
ORA1 DEPT01 ORA1 SELECT NO NO NO TABLE NO
ORA1 DEPT01 ORA1 REFERENCES NO NO NO TABLE NO
说明:可以看到用户leo被用户ora1授予select、references权限.
> select * from ora1.dept01;
DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID
------------- ------------------------------ ---------- -----------
10 Administration 200 1700
20 Marketing 201 1800
50 Shipping 124 1500
60 IT 103 1400
80 Sales 149 2500
90 Executive 100 1700
110 Accounting 205 1700
190 Contracting 1700
1011490290 Support 2500
400 support 2500
410 support 2500
11 rows selected.
> create table emp (empid number,department_id number);
> alter table emp add constraint fk_emp_deptid foreign key (department_id) references ora1.dept01;
> select table_name,constraint_name from user_constraints;
TABLE_NAME CONSTRAINT_NAME
--------------- --------------------
EMP FK_EMP_DEPTID
> conn ora1/ora1@orclpdb;
> revoke references on dept01 from leo;
revoke references on dept01 from leo
*
ERROR at line 1:
ORA-01981: CASCADE CONSTRAINTS must be specified to perform this revoke
说明:此时无法revoke references权限,因为用户leo创建了一个引用dept01(department_id)的表emp.
如果非要revoke references权限,需加cascade constraints.
> revoke references on dept01 from leo cascade constraints;
Revoke succeeded.
> conn leo/leo@orclpdb
> select table_name,constraint_name from user_constraints;
no rows selected
说明:revoke references权限后,约束一并被拿掉.
版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/u_12991611/5724017,作者:Liujun_Deng,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。
上一篇:使用Java消费API的一个错误消息PKIX path building failed以及解决方案
下一篇:python打印宝塔代码