【问题标题】:syntax error for command: "GRANT EXECUTE ON USERNAME.PKG.PROCEDURE TO OTHERUSER;"命令的语法错误:“GRANT EXECUTE ON USERNAME.PKG.PROCEDURE TO OTHERUSER;”
【发布时间】:2015-05-06 14:38:30
【问题描述】:

我想授予用户 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

【问题讨论】:

    标签: oracle


    【解决方案1】:

    您不能授予对包内的过程的权限,要么授予整个包的权限,要么将过程移到包外,使其成为一个独立的过程,然后授予权限

    要么

    GRANT EXECUTE ON USERA.PKGNAME TO USERB;
    

    GRANT EXECUTE ON USERA.PROCEDURENAME TO USERB;
    

    【讨论】:

    • 这个答案对我的问题没有帮助。我有一个包外的程序,建议的grant 语句不起作用。我和 OP 有同样的错误。
    猜你喜欢
    • 1970-01-01
    • 2011-04-22
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 2017-05-22
    • 2013-07-30
    • 2020-10-03
    相关资源
    最近更新 更多