簡體   English   中英

如何向用戶提供,執行其他用戶的功​​能?

[英]How can I give to user, execute another users's functions?

我想給用戶一個權限來調用另一個用戶函數的函數。

我這樣寫: 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做同樣的事情(光標在查詢上並在循環中立即執行)

說實話,看起來你問的是同義詞,而不是授權,因為授權不會幫助你調用AlterAllInvalidObjects而不提及架構。 請考慮一下http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_7001.htm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM