OBCE-4.2.1.6授权执行存储过程权限失败

【 使用环境 】测试环境
【 OB or 其他组件 】OBCE-4.2.1.6
【 使用版本 】OBCE-4.2.1.6
【问题描述】授权执行过程权限失败
【复现路径】
GRANT ALTER ROUTINE ON trpns_dev.* TO ‘a_oms’@’%’;
GRANT CREATE ROUTINE ON trpns_dev.* TO ‘a_oms’@’%’;
GRANT EXECUTE ON trpns_dev.* TO ‘a_oms’@’%’;

obclient [(none)]> GRANT ALTER ROUTINE ON *.* TO a_oms;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near 'ROUTINE ON *.* TO a_oms' at line 1


请问下 OB 在这个版本是不支持这个授权语法的吗?

语法写的有问题 这样是可以的
GRANT EXECUTE, ALTER ROUTINE ON PROCEDURE ‘my’.‘p1’ TO ‘mingye’@’%’;
这个是官方文档
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001053175

不行。OBCE-4.2.1.6 版本执行不了;

ALTER ROUTINE 权限。默认情况下,该权限自动授予函数创建者。
官方文档解释
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000221138

这个我也看了 刚才不知道你的版本 你这个版本不支持这个语法 4.2.2开始支持的 4.3也是支持的

文档里面写的当 automatic_sp_privileges 参数为1时,授予CREATE ROUTINE权限默认自动就授予EXECUTE和ALTER ROUTINE权限,如果不想这个用户具有修改权限可以单独回收修改权限

OceanBase分布式数据库-海量数据 笔笔算数