数据控制
数据控制是指设置或者更改数据库用户或角色权限,本节主要介绍有关数据库权限的分配及撤销。
对象(表、视图、模式等)的所有者通常是执行创建语句的角色,对于大部分类型的对象,初始状态下只有所有者(或者超级用户)能够对该对象做任何事情,为了允许其他角色使用它,必须分配权限。权限的分配或撤销通常也只有对象所有者可以进行操作。
权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、TRIGGER、CREATE、CONNECT、TEMPORARY、EXECUTE、USAGE。
用 ALL 取代特定权限会把与对象类型相关的所有权限全部授权。
要分配权限,可以使用 GRANT 命令;要撤销权限,可以使用 REVOKE 命令。
例如给角色 joe 分配 accounts 表 UPDATE 的权限:
GRANT UPDATE ON accounts TO joe; |
撤销角色 joe 对表 accounts 的 UPDATE 权限:
REVOKE UPDATE ON accounts FROM joe; |
注意,这里不能从 sysdba 授权给普通用户,普通用户和普通用户之间是可以相互授权的。