【发布时间】:2015-12-16 20:46:11
【问题描述】:
我目前正在使用 Oracle Database Express Edition 11g 处理一些GRANT 选项。考虑以下小代码示例,其中一些用户向其他用户授予一些权限:
-- User A
GRANT Select, Insert, Update, Delete ON T TO B,C WITH GRANT OPTION ;
-- User B
GRANT Select ON T TO C WITH GRANT OPTION ;
GRANT Insert ON T TO C ;
-- USer C
GRANT Select, Insert, Update ON T TO D ;
用户 A 是表 T 的创建者,执行以下REVOKE 操作。
现在执行REVOKE Update ON T FROM C。由于没有指定约束,REVOKE 操作要么取消,否则D 处的UPDATE 权限将被放弃,或者删除C 和D 的权限。
现在我的问题是:REVOKE 语句实际上是取消还是删除了C 和D 特权?或者换句话说,执行该撤销语句后的结果是C和D仍然具有UPDATE权限吗?
提前致谢。
【问题讨论】:
-
谁执行 REVOKE?
-
用户 A 执行它。 A 也是 T 的创建者,我已经相应地更新了问题。
-
RESTRICT 关键字不是 Oracle 数据库的有效语法。
-
你是对的,这个keywork在Oracle中是不存在的。我已经更新了这个问题。谢谢。