当您以 CREATE TABLE 语句创建表时,您是该表的所有者,且自动地收到所有的表级权限。您
不可将所有权转给另一用户,但您可将表级权限授予另一用户或授予一角色。(然而, 请参阅
RENAME TABLE 语句,它可更改表的名称和所有权。)
有数据库级 DBA 权限的用户自动地收到那个数据库中每一表的所有表级权限。
表级权限

您可通过指定权限适用的列来缩小 Select、Update 或 References 权限的范围。
指定关键字 PUBLIC 为 user,如果您想要 GRANT 语句应用于所有用户。
以下一些简单的示例展示如何以 GRANT 语句来授予表级权限。
下列语句将删除和选择表 customer 中的任何列的值的权限授予用户 mary 和 john。它还授予
Update 权限,但仅限于列 customer_num、fname 和 lname:
GRANT DELETE, SELECT, UPDATE (customer_num, fname, lname)
ON customer TO mary, john;
要将上述相同的权限授予给所有授权的用户,请使用关键字 PUBLIC,如下列示例所示:
GRANT DELETE, SELECT, UPDATE (customer_num, fname, lname)
ON customer TO PUBLIC;
对于 GBase 8s 数据库,假设名为 mary 的用户已经创建了名为 tab1 的类型表。在缺省情况下,
仅用户 mary 可创建 tab1 表之下的子表。如果 mary 想要将在 tab1 表之下创建子表的能力授予
名为 john 的用户,则 mary 必须输入下列 GRANT 语句:
GRANT UNDER ON tab1 TO john;
收到 tab1 表上的 Under 权限之后,用户 john 可创建 tab1 之下的一个或多个子表。




