语言级权限

要注册或删除用 SPL、C 或 Java™ 语言编写的 UDR,用户必须持有对用以编写该例程的编程语言的 Usage 权限。

这是对于指定要取消的语言级权限的 USAGE ON LANGUAGE 子句的语法:
语言级权限

每一 REVOKE USAGE ON LANGUAGE 语句可指定不多于一种编程语言。

当用户注册以 SPL、C 或 Java 语言编写的 UDR 时,数据库服务器验证该用户是否有对用以编写该 UDR 的语言的 Usage 权限。 如果该用户不具权限,则 CREATE FUNCTION 或 CREATE PROCEDURE 语句失败并报错。 如果 IFX_EXTEND_ROLE 配置参数已启用内建的 EXTEND 角色,则仅还持有那个角色的用户可注册或删除以 C 语言或以 Java 语言编写的 UDR,即使用户持有对那些语言的 USAGE ON LANGUAGE 权限。

要从用户或角色取消对编程语言的 Usage 权限,请发出包括 USAGE ON LANGUAGE 关键字和指定该编程语言的关键字的 REVOKE 语句。如果此语句成功,则任何您在 FROM 子句中指定的用户或角色都可不再注册那些以该语言编写的 UDR。例如,如果您从 PUBLIC 取消对 SPL 的缺省的 Usage 权限,则从所有用户剥夺创建 SPL 例程的能力(除了那些已被单独地授予了对该 SPL 语言的 Usage 权限的用户,或通过角色持有那 Usage 权限的用户之外):
REVOKE USAGE ON LANGUAGE SPL FROM PUBLIC;
您可发出 GRANT USAGE ON LANGUAGE 语句来给受限的组恢复对 SPL 的 Usage 权限,比如,给名为 developers 的角色:
GRANT USAGE ON LANGUAGE SPL TO developers;