GRANT 语句所赋予的权限存储在 SYSTABLEPERM 系统视图中。该视图中的每一行都对应于一个表、一个授予权限的用户 ID (grantor) 和一个被授予权限的用户 ID (grantee)。该视图的基础系统表为 ISYSTABLEPERM。
列名 | 列类型 | 说明 |
---|---|---|
stable_id | UNSIGNED INT | 对其应用了权限的表或视图的表号。 |
grantee | UNSIGNED INT | 接收权限的用户 ID 的用户号。 |
grantor | UNSIGNED INT | 授予权限的用户 ID 的用户号。 |
selectauth | CHAR(1) | 指出是否已授予 SELECT 权限。可能的值为 Y、N 或 G。有关这些值的含义的进一步信息,请参见下面的注释区域。 |
insertauth | CHAR(1) | 指出是否已授予 INSERT 权限。可能的值为 Y、N 或 G。有关这些值的含义的进一步信息,请参见下面的注释区域。 |
deleteauth | CHAR(1) | 指出是否已授予 DELETE 权限。可能的值为 Y、N 或 G。有关这些值的含义的进一步信息,请参见下面的注释区域。 |
updateauth | CHAR(1) | 指出是否已为表中的所有列授予 UPDATE 权限。可能的值为 Y、N 或 G。有关这些值的含义的进一步信息,请参见下面的注释区域。 |
updatecols | CHAR(1) | 指出是否仅为基础表中的某些列授予了 UPDATE 权限。如果 updatecols 的值为 Y,则 SYSCOLPERM 系统视图中将有一行或多行为该列授予 UPDATE 权限。 |
alterauth | CHAR(1) | 指出是否已授予 ALTER 权限。可能的值为 Y、N 或 G。有关这些值的含义的进一步信息,请参见下面的注释区域。 |
referenceauth | CHAR(1) | 指出是否已授予 REFERENCE 权限。可能的值为 Y、N 或 G。有关这些值的含义的进一步信息,请参见下面的注释区域。 |
有多种可以授予的权限。每种权限都可以有下列三个值之一。
N 否,授予者没有授予被授予者该权限。
Y 是,授予者已授予被授予者该权限。
G 被授予者已被授予该权限并能将同样的权限授予其他用户。请参见GRANT 语句。
另一个授予者可能已授予被授予者操作同一个表的权限。如果是这样,可在 SYSTABLEPERM 系统视图的不同行中找到该信息。
PRIMARY KEY (stable_id, grantee, grantor)
FOREIGN KEY (stable_id) 引用 SYS.ISYSTAB (table_id)
FOREIGN KEY (grantor) 引用 SYS.ISYSUSER (user_id)
FOREIGN KEY (grantee) 引用 SYS.ISYSUSER (user_id)
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |