HAS_TABLE_PRIVILEGE
返回 true 或 false,以验证用户是否具有表的指定权限。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变行为类型
稳定语法
HAS_TABLE_PRIVILEGE ( [ user, ] '[[database.]schema.]table', 'privilege' )
参数
-
用户
- 数据库用户的名称或 OID。如果省略,Vertica 会检查当前用户的权限。
-
[database.]schema
数据库和架构。默认架构为
public
。如果指定一个数据库,它必须是当前数据库。-
表
- 要检查的表的名称或 OID。
-
privilege
- 表权限,为以下之一:
特权
非超级用户,为以下之一:
-
表所有者
-
对表架构具有 USAGE 权限,对表具有一项或多项权限
示例
=> SELECT HAS_TABLE_PRIVILEGE('store.store_dimension', 'SELECT');
HAS_TABLE_PRIVILEGE
---------------------
t
(1 row)
=> SELECT HAS_TABLE_PRIVILEGE('release', 'store.store_dimension', 'INSERT');
HAS_TABLE_PRIVILEGE
---------------------
t
(1 row)
=> SELECT HAS_TABLE_PRIVILEGE(45035996273711159, 45035996273711160, 'select');
HAS_TABLE_PRIVILEGE
---------------------
t
(1 row)