GBase8s数据库类型级权限

您可对不是内建数据类型的数据类型指定两种权限:

• 对用户定义的数据类型的 Usage 权限

• 对命名的 ROW 类型的 Under 权限

要看到在用户定义的数据类型上存在什么权限,请在 sysxtdtypes 系统目录表检查每一 UDT 的

owner,并在 sysxtdtypeauth 系统目录表检查在 UDT 上持有权限的任何其他用户或角色。要获取

关于系统目录表的信息,然而,对于所有内建数据类型,PUBLIC 自动地获得这些访问权限且不可取消。

USAGE 权限

您拥有您创建的任何用户定义的数据类型(UDT)。作为所有者,您自动地获得那种数据类型的

Usage 权限,并可将 Usage 权限授予其他人,以便他们可在 SQL 语句中引用该类型名称或数

据。DBA 还可授予 UDT 的 Usage 权限。

下列示例授予用户 mark 访问权限来使用 widget 用户定义的类型:

GRANT USAGE ON TYPE widget TO mark;

如果您将 Usage 权限授予有 Alter 权限的用户(或角色),则被授予者可向包含您的 UDT 的值

的表添加列。

没有来自 GRANT 语句的权限,任何用户都可发出引用内建数据类型的 SQL 语句。相反,用户必

须从 GRANT 语句获得显示的 Usage 权限,才能使用 distinct 数据类型,即使该 distinct 类型基

于内建类型。

要获得更多关于用户定义的类型的信息,请参阅 CREATE OPAQUE TYPE 语句、CREATE

DISTINCT TYPE 语句。

UNDER 权限

您拥有您创建的任何命名的 ROW 类型。如果您想要其他用户能够创建此命名的 ROW 类型之下

的子类型,则必须授予这些用户对您的命名的 ROW 类型的 Under 权限。

例如,假设您创建名为 rtype1 的 ROW 类型:

CREATE ROW TYPE rtype1 (cola INT, colb INT);

如果您想要名为 kathy 的另一用户能够创建此命名的 ROW 类型之下的子类型,则必须授予用户

kathy 对此命名的 ROW 类型的 Under 权限:

GRANT UNDER ON ROW TYPE rtype1 TO kathy;

现在,用户 kathy 可创建 rtype1 ROW 类型之下的另一 ROW 类型,即使 kathy 不是 rtype1

ROW 类型的所有者:

CREATE ROW TYPE rtype2 (colc INT, cold INT) UNDER rtype1;

要获取更多关于命名的 ROW 类型的信息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值