表引用
对其授予权限的对象必须位于当前数据库中。
对于 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 语句。
评论
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526