作者:CQ莹儿_259 | 来源:互联网 | 2023-09-08 09:29
7.5.3 显示表权限
如果您是表的所有者(即,如果您创建了它),则您拥有对那个表的所有权限。否则,您
可通过查询系统目录来确定您对于某个表拥有的权限。系统目录由描述数据库结构的系统
表构成。对每一表所授予的权限都记录在 systabauth 系统表中。要显示这些权限,您还必须
知道该表的唯一标识符编号。在 systables 系统表中指定此编号。要显示对 orders 表授予的
权限,您可输入下列 SELECT 语句:
该查询的输出类似于下列示例:
授权者是授予权限的用户。授权者通常是表的所有者,但所有者可为授权者授权了的另一
用户。被授权者是将权限授予其的用户,被授权者 public意味着有 Connect 权限的任何用
户。如果您的用户名未出现,则您仅拥有授予给了 public 的那些权限。
tabauth 列指定授予的权限。此列的每一行中的字母是权限名称的首字母,除了 i 表示 Insert
以及 x 表示 Index 之外。在此示例中,public 具有 Select、Insert 和 Index 权限。仅用
户 mutator 具有 Update 权限,仅用户 procrustes 具有 Delete 权限。
在数据库服务器为您执行任何操作(例如,执行 DELETE 语句)之前,它都执行类似于前
一查询的查询。如果您不是该表的所有者,且如果数据库服务器找不到您的用户名
或 public 对该表的必要权限,则它拒绝执行该操作。