GRANT语句(使用权限)

GRANT语句的这种形式授权使用特定的缓冲池、存储组或表空间。

GRANT(使用权限)的语法

阅读语法图跳过可视化语法图 GRANT USE OF BUFFERPOOL, bpnameALL BUFFERPOOLSSTOGROUP,stogroup-nameTABLESPACE,数据库名称.表格空间名称 TO ,授权名称ROLE角色名称PUBLIC WITH GRANT OPTION

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;