我想向用户B授予执行权限,以便它可以执行属于用户A的打包过程。
procedure name = PKGNAME.PROCEDURENAME
user = USERA
我正在尝试下面的命令:
GRANT EXECUTE ON USERA.PKGNAME.PROCEDURENAME TO USERB;
但它给了我错误:
第1行的错误:
ORA-00905:缺少关键字
是否存在语法问题?我用这个链接: Granting Rights on Stored Procedure to another user of Oracle
答案 0 :(得分:4)
您无法授予对程序包内某个程序的权限,可以授予整个程序包的权限,也可以将程序移到程序包之外,使其成为独立的程序,然后授予权限
所以
GRANT EXECUTE ON USERA.PKGNAME TO USERB;
或
GRANT EXECUTE ON USERA.PROCEDURENAME TO USERB;