GBASE南大通用数据库分享:注册例程的权限

文章讲述了如何在GBASE通用数据库中注册例程,涉及DBA和非DBA用户的权限要求,包括SPL命令的使用,以及C、Java等语言的外部例程管理规则。重点介绍了不同权限级别的用户如何创建、修改和删除UDR(用户自定义函数)。
摘要由CSDN通过智能技术生成

GBASE南大通用数据库分享:

要在数据库中注册例程,被授权的用户将 SPL 命令包含在 CREATE FUNCTION 或 CREATE PROCEDURE 语句中。数据库服务器存储内部注册了的 SPL 例程。下列用户具 有在数据库中注册新的例程的资格: 

 • 有 DBA 权限的任何用户可在 CREATE 语句中,使用或不使用 DBA 关键字来注 册例程。 要了解 DBA 关键字的说明,请参阅 执行例程的 DBA 权限。 

 • 没有 DBA 权限的用户需要 Resource 权限来注册 SPL 例程。该例程的创建者是 所有者。 没有 DBA 权限的用户不可使用 DBA 关键字来注册例程。 DBA 必须给其他需要创建例程的用户授予 Resource 权限。DBA 还可撤销 Resource 权限,防止用户创建更多的例程。 

 • 除了对在其中注册 UDR 的数据库保存持有 DBA 权限或 Resource 权限之外,创 建 UDR 的用户还必须持有对以其编写 UDR 的编程语言的 Usage 权限。这些 SQL 可为特定的编程语言授予语言级别的 Usage 权限: ₒ GRANT USAGE ON LANGUAGE C ₒ GRANT USAGE ON LANGUAGE JAVA ₒ GRANT USAGE ON LANGUAGE SPL除了个别的用户之外,这些权限的被授予者还可为用户定义的角色,或 PUBLIC 组。在将语言级别 Usage 权限授予角色之后,持有那个角色的任何用户都可通过 使用 SQL 的 SET ROLE 语句使得该角色的所有访问权限能够指定那个角色作为 当前的角色。 

对于以 C 语言或 Java™ 语言编写的外部例程,如果启用 IFX_EXTEND_ROLE 配置参数, 则仅 DBSA 已授予其 EXTERNAL 角色的用户可注册、删除或修改外部的 UDR 或 DataBlade 模块。在缺省情况下,启用此参数。通过将 IFX_EXTEND_ROLE 配置参数设 置为 OFF 或设置为 0,DBSA 可禁用对持有 DataBlade 模块或外部 UDR 的 DDL 操作 EXTEND 角色的要求。然而,此安全特性对 SPL 例程不起作用。 

总之,持有以上标识的数据库级别和语言级别自主访问控制权限(且还持有 EXTEND 角 色,如果启用 IFX_EXTEND_ROLE 且该 UDR 为外部例程的话)的用户,可在下列 SQL 语句中引用 UDR:

• DBA 或用户可以 CREATE FUNCTION、CREATE FUNCTION FROM、CREATE PROCEDURE、CREATE PROCEDURE FROM、CREATE ROUTINE 或 CREATE ROUTINE FROM 语句来注册新的 UDR。 

• DBA 或现有 UDR 的所有者可以 DROP FUNCTION、DROP PROCEDURE 或 DROP ROUTINE 语句来取消那个 UDR 的注册。 

• DBA 或现有 UDR 的所有者可以 ALTER FUNCTION、ALTER PROCEDURE 或 ALTER ROUTINE 语句来修改那个 UDR 的定义。

#GBASE南大通用数据库分享

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值