问题描述
在KingbaseES数据库中,如何控制函数的调用权限?
解决方案
1. 创建一个函数
\set SQLTERM /
Create or replace function proce3 return int as
a1 int =10;
BEGIN
RAISE NOTICE’a1 is %’ a1;
Reruen 1;
End;
/
\set SQLTERM /
2. 因为创建的函数默认为全局模式,所以此时除了属主外其他用户都可以调用这个函数。
3. 如需控制函数的调用权限,需要先取消在public下调用的权限:
Revoke all on function func1 from public;
4. 再将调用权限授予指定的用户:
Grant all on function func1 to username;
这样就只有授权后的用户和属主可以调用此函数。