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)