OBJECT_特权表函数
OBJECT_特权表函数针对每个有权使用指定对象的用户及其关联对象和数据权限返回一行。
返回的信息类似于通过 "显示对象权限" (DSPOBJAUT) CL 命令提供的信息。
授权: 当至少满足下列其中一个条件时,将针对对象返回所有授权用户:
- 对象是 *AUTL ,调用者对该对象具有 *AUTLMGT 权限。
- 该对象不是 *AUTL ,并且调用者对该对象具有 *OBJMGT 权限。
- 调用者是对象的所有者。
- 调用者有权使用 QIBM_DB_SECADM 函数使用标识。
模式为 QSYS2。
- 系统对象模式
- 用于标识包含 system-object-name的库的字符或图形字符串表达式。
- 系统对象名称
- 用于标识对象的字符或图形字符串表达式。
- 对象类型
- 用于指定系统对象类型 system-object-name的字符或图形字符串表达式。
此函数的结果是包含具有下表中所示格式的行的表。 所有列都是可空的。
| 列名 | 数据类型 | 描述 |
|---|---|---|
| 授权用户 | VARCHAR(10) | 用户概要文件名称。 可以包含以下特殊值。
|
| 对象权限 | VARCHAR(12) | 用户对该对象具有的权限。 包含下列其中一个特殊值:
|
| 授权列表 | VARCHAR(10) | 权限列表的名称 (如果对象受权限列表保护)。 如果对象不受权限列表保护,那么包含空值。 |
| PRIMARY_GROUP | VARCHAR(10) | 作为对象的主组的用户。 如果对象没有主组,那么返回空值。 |
| 所有者 | VARCHAR(10) | 拥有对象的用户概要文件。 |
| 授权列表管理 | VARCHAR(3) | AUTHORIZATION_USER 的权限列表管理权限。
|
| 对象所有者 | VARCHAR(3) | 指示此行的 AUTHORIZATION_USER 是否也是对象的 OWNER。
|
| 对象操作 | VARCHAR(3) | 指示 AUTHORIZATION_USER 的对象操作权限。
|
| 对象管理 | VARCHAR(3) | AUTHORIZATION_USER 的对象管理权限。
|
| 对象存在 | VARCHAR(3) | AUTHORIZATION_USER 的对象存在权限。
|
| 对象 ECT_ALTER | VARCHAR(3) | AUTHORIZATION_USER 的对象变更权限。
|
| 对象参照 | VARCHAR(3) | AUTHORIZATION_USER 的对象引用权限。
|
| 数据读取 | VARCHAR(3) | AUTHORIZATION_USER 的数据读权限。
|
| 数据添加 | VARCHAR(3) | AUTHORIZATION_USER 的数据添加权限。
|
| 数据更新 | VARCHAR(3) | AUTHORIZATION_USER 的数据更新权限。
|
| 数据删除 | VARCHAR(3) | AUTHORIZATION_USER 的数据删除权限。
|
| 数据执行 | VARCHAR(3) | AUTHORIZATION_USER 的数据执行权限。
|
示例
返回文件 APPLIB/EMPLOYEE 的权限信息。
SELECT *
FROM TABLE(QSYS2.OBJECT_PRIVILEGES('APPLIB', 'EMPLOYEE', '*FILE'));
