gpt4 book ai didi

oracle - 我怎样才能给用户,执行另一个用户的功能?

转载 作者:行者123 更新时间:2023-12-04 14:47:40 25 4
gpt4 key购买 nike

我想授予一个用户调用另一个用户函数的权限。

我写这个:GRANT EXECUTE ANY FUNCTION TO user;
但它不起作用。

用户需要调用这个:

call XXX.YYY.AlterAllInvalidObjects(NULL,'PACKAGE BODY');

但我怎么能给予补助呢?

注意:我不想使用: GRANT EXECUTE ON FUNCTION AlterAllInvalidObjects TO user;我需要通用解决方案而不是特定的函数名称。

最佳答案

GRANT EXECUTE ANY PROCEDURE TO user;

http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9013.htm#i2077938

将管理职能和程序。
您不能仅将这种方式授予功能...

编辑

另一种方式(但每次其他用户创建新函数以获取所有授权时,您都必须运行它):


select 'GRANT EXECUTE ON '||owner||'.'||object_name||' TO user;'
from all_objects
where owner = 'xxx'
and object_type='FUNCTION';

并复制粘贴执行结果...

或使用 SP 做同样的事情(查询上的光标并立即在循环中执行)

关于oracle - 我怎样才能给用户,执行另一个用户的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12403214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com