GRANT语句(表或视图权限)
GRANT语句的这种形式授予对表和视图的权限。
GRANT(表或视图权限)的语法
GRANT(表或视图权限)描述
- ALL 或 ALL PRIVILEGES
- 授予您在ON子句中指定的表和视图的所有权限。
如果您没有使用全部关键词,则必须使用以下列表中的一个或多个关键词。 对于您使用的每个关键字,您必须在ON子句中标识的每个表或视图中拥有GRANT权限。
- ALTER
授予修改指定表或为指定表创建触发器的权限。 ALTER命令不能用于辅助表或视图。
- 删除
- 授予删除指定表格或视图中的行的权限。 辅助表上不能授予DELETE权限。
- INDEX
- 授予在指定表上创建索引的权限。 索引不能授予视图。
- INSERT
- 授予在指定表格或视图中插入行的权限。 INSERT不能在辅助表上执行。
- REFERENCES
- 授予添加引用约束的权限,其中指定表为父表。 如果未指定列名列表,或者通过指定所有特权授予引用权限,则被授权者可以使用表中的所有列作为父键来定义引用约束,包括那些后来通过ALTER TABLE语句添加的列。 此特权不能在视图或辅助表格上授予。
- 参考资料 (列名,...)
- 授予添加或删除引用约束的权限,其中指定表是父表,仅使用列列表中指定的列作为父键。 每个 column-name 都必须是非限定名称,用于识别 ON 子句中识别的表的某个列。 此特权不能在视图或辅助表格上授予。
- SELECT
- 授予从指定表或视图中创建视图或读取数据的权限。 不能在辅助表上授予 SELECT 权限。
- TRIGGER
- 授予在指定表上创建触发器的权限。 TRIGGER不能在辅助表或视图中使用。
UNLOAD
FL 500 允许使用卸载工具。 UNLOAD命令不能用于辅助表或视图。
- UPDATE
- 授予更新指定表或视图中的行的权限。 辅助表上无法授予UPDATE权限。
- UPDATE (列名 ,...)
- 授予仅更新指定列的权限。 每个列名必须是ON子句中标识的每个表或视图的列的无限定名称。 每个列名不得标识辅助表的列。
- 在表名或视图名上
- 指定您要授予权限的表或视图。 列表可以是表名或视图名,也可以是两者的组合。 已声明的临时表和为XML列隐式创建的表不得被识别。
如果使用 GRANT ALL,则对于每个已命名的表或视图,权限集(在 GRANT 语句中的
授权
中描述)必须至少包含一个带有 GRANT 选项的权限。 - TO
- 请参阅 GRANT语句 ,了解TO子句的说明。
- WITH GRANT OPTION
- 关于WITH GRANT OPTION子句的描述,请参阅 GRANT语句。
GRANT注释(表或视图权限)
引用权限不能替代更改权限。 添加此内容是为了符合SQL标准。 要定义引用父表的外国键,您必须拥有REFERENCES或ALTER权限,或同时拥有这两项权限。
对于创建的临时表,只能授予ALL或ALL PRIVILEGES权限。 无法授予特定餐桌特权。 此外,仅ALTER、DELETE、INSERT和SELECT权限适用于已创建的临时表。
要查看已创建的临时表,可以授予全部或特定的UPDATE、DELETE、INSERT和SELECT权限。 当指定了ALL时,仅UPDATE、DELETE、INSERT和SELECT权限适用于已创建临时表上的视图。 但是,不允许对视图进行更新操作。
要授予已创建临时表的表权限,权限集必须包含以下内容之一:
- SYSADM
- DBADM on DSNDB06
- 创建的临时表的所有权
要授予对已创建临时表的视图的表权限,权限集必须包括以下内容之一:
- SYSADM
- 创建的临时表的所有权
对于已声明的临时表,不能授予任何权限。 当定义一个已声明的临时表时,PUBLIC将隐式获得该表的所有权限(无需GRANT授权)。 这些特权不会记录在 Db2 目录中,且不可撤销。
对于辅助表,只能授予INDEX权限。 与辅助表关联的基表的删除、插入、选择和更新权限扩展到辅助表。
- ALTER
- INDEX
- REFERENCES
- TRIGGER
GRANT示例(表或视图权限)
GRANT SELECT ON DSN8C10.EMP TO PULASKI; GRANT UPDATE (EMPNO,WORKDEPT) ON TABLE DSN8C10.EMP TO PUBLIC; GRANT ALL ON TABLE DSN8C10.EMP TO KWAN,THOMPSON WITH GRANT OPTION; GRANT SELECT, UPDATE ON TABLE DSN8C10.DEPT
TO PUBLIC;即使有这笔拨款,一些网络用户也可能根本无法访问该表,或者无法访问该表所在的子系统中的任何其他对象。 对子系统的访问控制涉及网络中子系统的通信数据库。 通信数据库的表格在 Db2 目录表中进行了描述。 访问控制详见 “保护 Db2 ”。
GRANT ALTER ON TABLE DSN9910.EMP TO ROLE ROLE1;