例程级别特权

可将 Execute 特权应用于用户定义的例程 (UDR) 以授权非所有者执行 UDR。如果在不符合 ANSI 标准的数据库中创建 UDR,那么缺省例程级别特权是 PUBLIC;除非首先撤销了 Execute 特权,否则不需要将此特权授予特定用户。如果在符合 ANSI 标准的数据库中创建例程,那么缺省情况下其他用户不具有 Execute 特权;必须将 Execute 特权授予特定用户。以下示例将 Execute 特权授予用户 orion,以便 orion 可使用名为 read_address 的 UDR:
GRANT EXECUTE ON ROUTINE read_address TO orion;

sysprocauth 系统目录表记录例程级别特权。sysprocauth 系统目录表使用由例程号、授权者和被授权者组成的主键。在 procauth 列中,执行特权由小写的 “e” 指示。如果执行特权是使用 WITH GRANT 选项授予的,那么该特权由大写的 “E” 表示。

有关例程级别特权的更多信息,请参阅 GBase 8s SQL 指南:教程