Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere 服务器 - SQL 的用法 » 存储过程、触发器、批处理和用户定义的函数 » 触发器

 

执行触发器的权限

您不能授予触发器的执行权限,因为用户不能执行触发器:SQL Anywhere 会作为数据库操作的响应来触发触发器。不过,触发器确实有执行期间的相关权限,用于定义其执行某些操作的权利。

触发器使用定义了这些权限的表的所有者的权限(而不是导致触发器触发的用户的权限,并且不是创建该触发器的用户的权限)执行。

如果触发器引用某张表,在不显式指定所有者名称的情况下,触发器会使用表创建者的组成员资格来查找表。例如,如果 user_1.Table_A 上的触发器引用 Table_B,并且不指定 Table_B 的所有者,则 Table_B 必须是由 user_1 创建的,或者 user_1 必须(直接或间接地)是 Table_B 所有者组的成员。如果这两个条件都不具备,在该触发器触发时,数据库服务器将返回一条消息,指示未找到表。

此外,user_1 必须具有执行该触发器中所指定的操作的权限。

 另请参见