我目前正在GRANT
使用Oracle Database Express Edition
11g处理一些选项。考虑下面的小代码示例,其中一些用户向其他用户授予某些特权:
-- 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
操作要么取消,否则将有一个废弃UPDATE
的特权D
,或同时删除的权限C
和D
。
现在我的问题是:该REVOKE
语句是否实际上已取消或同时删除C
和D
特权?或者换句话说,就是执行该revoke语句,无论之后的结果C
,并D
仍然有UPDATE
特权或不?
提前致谢。
撤消对象特权
如果用户已将特权授予其他用户或角色,则数据库还将撤消那些其他用户或角色的特权。
正确的REVOKE语句是:
REVOKE object_priv [(column1, column2..)] ON [schema.]object
FROM {user, | role, |PUBLIC} [CASCADE CONSTRAINTS] [FORCE]
RESTRICT
Oracle中没有。将RESTRICT
在PostgreSQL中,MariaDB的,等存在
但是我认为您的预期方法只是REVOKE Update ON T FROM C
从A用户执行。之后,没有任何错误,并且用户C和D没有更新T的特权。
Revert 命令可以撤消之前做过的某个提交。 练习 1,先查看一下项目的提交历史: → git log --oneline fb11f83 让 README.md 标题的首字母大写 0fd9dac 让标题微笑 7086650 添加 .gitignore b5773ad 设置相关资源文档标题 23f3c2b 添加相关资源文档 a454700 设置说明文档的标题 39975b3 初始化 “添加 .
Git提供了多种修复你开发过程中的错误的方法. 方法的选择取决于你的情况: 包含有错误的文件是否提交了(commited); 如果你把它已经提交了, 那么你是否把有错误的提交已与其它人共享这也很重要. 修复未提交文件中的错误(重置) 如果你现在的工作目录(work tree)里搞的一团乱麻, 但是你现在还没有把它们提交; 你可以通过下面的命令, 让工作目录回到上次提交时的状态(last commi
问题内容: 假设我有以下两个变量: 我怎样才能获得的价值是价值?也就是说,如何展开unicode格式,但保留十六进制的值? 如果我这样做: 那是不对的… 救命! 问题答案: U + 0000和U + 00FF之间的代码点以ISO 8859-1或Latin 1编码映射到相同的字节值。
在任何一个阶段,你都有可能想要撤消某些操作。 这里,我们将会学习几个撤消你所做修改的基本工具。 注意,有些撤消操作是不可逆的。 这是在使用 Git 的过程中,会因为操作失误而导致之前的工作丢失的少有的几个地方之一。 有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令尝试重新提交: $ git commit --amend 这个
很管用。然而,我也需要执行一些撤消操作或确认。做这件事最好的方法是什么? 第一个问题是如何插入另一个视图代替删除与确认对话框?如果用户选择撤消删除,如何恢复被刷的项目?