Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
可以授予以下数据库对象的权限:
具有 DBA 权限的用户或表的所有者可以对表和/或表中的各列授予权限。有关可授予的表权限的列表,请参见权限。
可使用 GRANT 语句或 Sybase Central 中数据库对象的 [权限] 选项卡对表授予权限。请参见向用户授予权限。
具有 DBA 权限的用户或视图的所有者可以对视图授予权限。有关可授予的视图权限的列表,请参见权限。
如果满足以下一个或多个条件,用户便可获得视图的 DELETE、INSERT、SELECT 和 UPDATE 权限:
拥有 DBA 特权的用户或拥有视图的用户显式授予了这些权限。
用户拥有对视图中使用的所有基础对象(例如基表、视图和过程)执行这些操作所需的相应权限。
一个非 DBA 用户为该用户授予了对视图进行相应操作的权限。该非 DBA 用户必须是视图的所有者,或者必须具有对视图的适当权限的授权选项。视图的所有者必须是以下之一:
具有 DBA 特权的用户。
没有 DBA 特权但拥有该视图所引用的所有基表的用户。
没有 DBA 特权并且也不是该视图所引用的部分或全部基表的所有者的用户。但是,该视图所有者具备针对非其拥有的基表的 SELECT 权限及授权选项 (WITH GRANT OPTION),以及操作非其拥有的基表所需的任何其它权限和授权选项 (WITH GRANT OPTION)。
权限(包括对系统表的 SELECT 权限)可能已被授予 PUBLIC,而不是对基表具有权限 WITH GRANT OPTION 的所有者。
可以授予对禁用视图的权限。对禁用视图的权限存储在数据库中,在视图被启用时生效。
请参见系统视图的用户和权限。
具有 DBA 权限的用户或过程的所有者可以对存储过程授予权限。可针对过程授予的唯一权限是 EXECUTE 权限。
过程的执行权限 使用过程所有者的权限执行过程。仅当过程所有者拥有针对表的 UPDATE 权限时,任何更新表中信息的过程才能成功执行。
只要过程所有者拥有适当权限,当拥有执行该过程的权限的用户调用该过程时,无论该用户是否拥有针对基表的权限,该过程均可成功执行。您可以使用过程来允许用户对表执行明确定义的活动,而不必拥有针对表的任何常规权限。
具有 DBA 权限的用户或触发器的所有者可以授予执行触发器的权限。可针对触发器授予的唯一权限是 EXECUTE 权限。
数据库服务器通过执行触发器来响应用户操作。授予触发器的 EXECUTE 权限后,不需要其它权限即可执行触发器。当触发器执行时,它会使用与其相关联的表的所有者的权限。
具有 DBA 权限的用户可以授予在指定 dbspace 上创建对象的权限。已获得 dbspace 权限的用户必须拥有 RESOURCE 权限。可针对 dbspace 授予的唯一权限是 CREATE ON 权限。
具有 DBA 权限的用户或序列的创建者可以授予执行序列的权限。可针对序列生成器授予的唯一权限是 USAGE 权限。此权限允许用户计算序列中当前值或下一个值。如果该序列是某个表中 DEFAULT 子句的一部分,任何向该表中插入行的用户必须具有该序列的权限。