grant数据库
① 数据库中的DROP,GRANT REVORK分别是干什么用的
数据库中的DROP是用来从数据库中删除已存在的表,或从表中删除已存在的索引。语法为DROP {TABLE表 | INDEX索引 ON表 | PROCEDURE procere | VIEW view}。
数据库中的GRANT是用来给某用户或某组或所有用户(PUBLIC)提供某些特定的权限。语法为GRANt <权限>[,<权限>]...[ON<对象类型><对象名>]TO<用户名>[,<用户名>]...[WITH GRANT OPTION]。
数据库中的REVORK是用来收回给某用户或某组或所有用户(PUBLIC)提供的某些权限。语法为REVOKE<权限>[,<权限>]...[ON<对象类型><对象名>] FROM<用户>[,<用户>]。
(1)grant数据库扩展阅读:
数据库中使用DROP必须先关闭表,然后才能删除此表或此表中的索引。也可以使用 ALTER TABLE 语句 来删除表中的索引。对于非微软数据库, Microsoft Jet数据库引擎不支持DROP或 DDL 语句的使用。应采用 DAO Delete 方法。
数据库中除了创建者外,除非创建者赋予(GRANT)权限,其他人没有访问对象的权限。一旦用户有某对象的权限,他就可以使用那个特权。不需要给创建者赋予(GRANT)对象的权限,创建者自动拥有对象的所有权限,包括删除它的权限。
② oracle的grant语句,一次只能授权一张表的访问权限吗
grant语句,一次只能对一个对象进行赋权;不能同时对两个表进行赋权;但可以同时赋权多个不同的权限;如,grant select,update,insert on test_null to sys;
举例实践如下:
1、多表同时赋权,会产生报错信息。
(2)grant数据库扩展阅读
1、给数据库用户授权(对象为用户表)
GRANT privilege[, ...] ON object[, ...] TO { PUBLIC | GROUP group| username}
privilege包含,select:查询、insert:插入、update:更新、delete:删除、all:所有
2、grant select,insert,update on tablename to public;
给所有用户授予查春绝询、插入、更新tablename表的权限
revoke select,insert,update on tablename from public;//收回所有用户查询、插入、更新tablename表的权限
object包含,table:敬或表、view:亮森伍视图、sequence:序列、index:索引
3、grant select,insert,update on tablename,viewname,sequencename,indexname to public;
1)public:对所有用户开放权限
2)GROUP groupname:对该组所有用户开放权限
3)username:对指定用户开放权限
参考资料
ORACLE官网-ORACLE GRANT