回答
存儲過程XYZ所有權的權利編寫SQL命令,我不知道,我明白你的「所有權的權利」的意思。
如果用戶B擁有一個存儲過程,用戶B可以授予用戶運行存儲過程
GRANT EXECUTE ON b.procedure_name TO a
然後,用戶A將使用完全限定名調用過程A權限,即
BEGIN
b.procedure_name(<<list of parameters>>);
END;
或者,用戶A可以創建同義詞,以避免必須使用完全限定的過程名稱。
CREATE SYNONYM procedure_name FOR b.procedure_name;
BEGIN
procedure_name(<<list of parameters>>);
END;
你不能做我認爲你要做的事。
您可以授予程序的唯一權限是EXECUTE和DEBUG。
如果您想允許用戶B在用戶A架構中創建過程,那麼用戶B必須具有CREATE ANY PROCEDURE特權。更改任何程序和刪除任何程序是爲用戶B更改或刪除用戶A程序所需的其他適用權限。所有權限都是廣泛的,因爲它不會將用戶B限制爲任何特定模式。如果授予這些權限,用戶B應該高度信任。
編輯:
賈斯汀提到的,給予執行權,一種通過B所擁有的程序的方式:
GRANT EXECUTE ON b.procedure_name TO a;
包和Oracle存儲過程使用的權利默認執行包/程序OWNER,而不是當前登錄的用戶。
因此,如果您調用一個創建用戶的包,例如它的包所有者,而不是需要創建用戶特權的調用用戶。調用者只需要在包上具有執行權限。
如果您希望該包應使用主叫用戶的權限下運行,創造了包,那麼當你需要指定AUTHID CURRENT_USER
Oracle文檔「祈求權利VS定義者權限」提供了更多信息http://docs.oracle.com/cd/A97630_01/appdev.920/a96624/08_subs.htm#18575
希望這有助於。
SQL> grant create any procedure to testdb;
這是一個命令,當我們要給「testdb」用戶創建特權時。
在你的DBA帳號,給USERB使用撥款,以創建一個過程的權利grant create any procedure to USERB
的過程看起來
CREATE OR REPLACE PROCEDURE USERB.USERB_PROCEDURE
--Must add the line below
AUTHID CURRENT_USER AS
BEGIN
--DO SOMETHING HERE
END
END
GRANT EXECUTE ON USERB.USERB_PROCEDURE TO USERA
我知道這是一個非常古老的問題,但我我希望我能把它打碎一點。
- 1. Oracle - 授予用戶權限
- 2. 授予權限存儲過程
- 3. 授予Oracle授予權限
- 4. 哪一項權利授予用戶在SQL 2008中授予他人權利的權利?
- 5. Oracle過程授予特權列表
- 6. 授予用戶授予其他用戶的授權
- 7. 在Oracle存儲過程中訪問另一個用戶的表
- 8. 在Oracle中,從過程內向用戶授予角色
- 9. 授予數據庫中所有存儲過程的用戶執行權限?
- 10. t-sql創建用戶並授予執行存儲過程的權限
- 11. 在SQL Server 2000中授予對存儲過程的選擇權
- 12. 如何授予在Oracle中授予權限的權限
- 13. 在哪裏存儲表格以授予Oracle 10g中新用戶的權限
- 14. 如何向用戶授予權限
- 15. 在Oracle模式上向用戶授予所有特權
- 16. 是否授予ALTER暗示授予執行一個SQL Server存儲過程
- 17. 權限授予隊列到另一個模式在Oracle
- 18. 充分利用存儲過程中的另一個存儲過程
- 19. Oracle權限授予SQl Plus
- 20. 執行Oracle存儲過程作爲另一個用戶
- 21. 以另一個用戶權限執行存儲過程
- 22. Oracle - 在另一個存儲過程的循環中調用存儲過程
- 23. 授予用戶訪問權
- 24. 授予對某個數據庫中所有存儲過程的執行權限
- 25. 當用戶登錄時授予授權
- 26. MariaDB的 - 錯誤授予權的用戶
- 27. 授予自定義TFS應用程序組的權利
- 28. 如何從另一個存儲過程調用存儲過程oracle
- 29. 在Oracle中與另一個存儲過程調用存儲過程
- 30. 存儲用戶的反應授權
+1一種比CREATE ANY PROCEDURE更爲激烈的方法,但也有缺陷是給用戶B使用用戶B密碼給用戶A,允許他們以該用戶身份登錄。這聽起來像你想授予模式級特權,但這些特權在Oracle中不可用。 – 2010-11-29 19:06:41