GBase 8s
运维管理
文章

表引用

发表于2025-12-08 16:02:0525次浏览1个评论

对其授予权限的对象必须位于当前数据库中。

对于 CREATE EXTERNAL TABLE 语句已经在当前数据库中注册的表对象,支持 Select 权限和

Insert 权限,但不可授予或取消对其他表或列的访问权限。

在符合 ANSI 的数据库中,如果 owner 未加引号,则数据库以小写字母方式存储所有者名称。

对表和同义词的权限

在符合 ANSI 的数据库中,如果您创建表,则仅有您作为该表的所有者拥有任何表级权限,直到您

明确地将它们授予其他人为止。

然而,当您在不符合 ANSI 的数据库中创建表时,PUBLIC 获得那个表的 Select、Insert、Delete、

Under 和 Update 权限。(当设置为 yes 时,NODEFDAC 防止 PUBLIC 自动地获得这些表级

权限。)

要允许某些用户访问,或仅访问不符合 ANSI 的数据库中的某些列,您必须明确地取消 PUBLIC 在

缺省情况下获得的权限,然后仅授予您想要授予的权限。例如,这一系列语句将对整个 customer

表的权限授予用户 john 和 mary,但限定 PUBLIC 仅对那个表中的四列有 Select 权限:

REVOKE ALL ON customer FROM PUBLIC;

GRANT ALL ON customer TO john, mary;

GRANT SELECT (fname, lname, company, city) ON customer TO PUBLIC;

对视图的权限

您对表或列必须至少有 Select 权限来创建在那个表上的视图。对那些在当前数据库中仅引用表的

视图,如果视图所有者失去对该视图的任何基本表的 Select 权限,则删除该视图。

您对该视图有的权限与您对为该视图提供数据的一表或多表的权限相同。例如,如果您从仅有

Select 权限的表创建视图,则您可从该视图选择数据,但不可删除或更新数据。要获取更多关于如

何创建视图的信息,请参阅 CREATE VIEW 语句。

评论

登录后才可以发表评论
用户头像
GBase用户28017发表于 7个月前
不错。