对命名行类型的 Under 特权

对于命名行类型,可授予或取消 Under 特权,此特权控制用户是否可以将命名行类型指定为继承层次结构中的另一个命名行类型的超类型。创建命名行类型时,将把 Under 特权自动授予 PUBLIC(在符合 ANSI 标准的数据库中除外)。在符合 ANSI 标准的数据库中,将把对命名行类型的 Under 特权授予该类型的所有者。

要限制特定用户将命名行类型定义为继承层次结构中的超类型的能力,首先必须撤销 PUBLIC 的 Under 特权,然后指定要授予 Under 特权的用户的名称。例如:要指定只有有限的一组用户可使用命名行类型 person_t 来作为继承层次结构中的超类型,可执行下列语句:
REVOKE UNDER ON person_t
      FROM PUBLIC;

GRANT UNDER ON person_t
      TO howie, jhana, alison

有关如何使用 UNDER 子句来在继承层次结构中创建命名行类型的信息,请参阅类型继承