GRANT语句(使用权限)
GRANT语句的这种形式授权使用特定的缓冲池、存储组或表空间。
GRANT(使用权限)的语法
GRANT(使用权限)说明
- 缓冲池(BUFFERPOOL )bpname,..
- 在CREATE INDEX、CREATE TABLESPACE、ALTER INDEX或ALTER TABLESPACE语句中,允许引用任何已识别的缓冲池。 有关bpname 的详细信息,请参阅 SQL中的命名约定。
- 所有缓冲池
- 在CREATE INDEX、CREATE TABLESPACE、ALTER INDEX或ALTER TABLESPACE语句中引用任何缓冲池的特权。
- STOGROUP stogroup-name,..
- 在CREATE INDEX、CREATE TABLESPACE、ALTER INDEX或ALTER TABLESPACE语句中,允许引用任何已识别的存储组。
- TABLESPACE database- name.table-space-name,..
- 在CREATE TABLE语句中引用任何已标识的表空间。 数据库名称的默认值为 DSNDB04。
对于已声明为临时表的表空间 (工作文件数据库中的表空间 ),您不能授予特权。 对于这些表空间,PUBLIC 隐式拥有 TABLESPACE 权限(没有 GRANT 权限);此权限不会记录在 Db2 目录中,也无法撤销。
- TO
- 请参阅 GRANT语句 ,了解TO子句的说明。
- WITH GRANT OPTION
- 关于WITH GRANT OPTION子句的描述,请参阅 GRANT语句。
GRANT注意事项(使用权限)
每次声明只能为一种对象授予权限。 因此,您可以使用一条语句授予多个表空间的使用权限,但不能同时授予表空间和存储组的使用权限。 对于您识别的每个对象,您必须拥有USE权限和GRANT授权。
GRANT(使用权限)示例
示例1: 向用户MARINO授予使用缓冲池 BP1 和 BP2 的权限。
GRANT USE OF BUFFERPOOL BP1,BP2
TO MARINO;示例2 :授权所有本地用户使用数据库中的表空间 DSN8S12D 数据库中的 DSN8D12A。
GRANT USE OF TABLESPACE
DSN8D12A.DSN8S12D
TO PUBLIC;示例3: 将存储组 SG1 的使用权限授予角色 ROLE1:
GRANT USE OF STOGROUP SG1
TO ROLE ROLE1;