Oracle之AUTHIDCURRENT_USER
來源:懂視網
責編:小采
時間:2020-11-09 12:46:16
Oracle之AUTHIDCURRENT_USER
Oracle之AUTHIDCURRENT_USER:沒有AUTHID CURRENT_USER表示定義者權限(definer rights),以定義者身份執行;加上AUTHID CURRENT_USER表示調用者權限(invoke 沒有AUTHID CURRENT_USER表示定義者權限(definer rights),以定義者身份執行;加上AUTHID CURRE
導讀Oracle之AUTHIDCURRENT_USER:沒有AUTHID CURRENT_USER表示定義者權限(definer rights),以定義者身份執行;加上AUTHID CURRENT_USER表示調用者權限(invoke 沒有AUTHID CURRENT_USER表示定義者權限(definer rights),以定義者身份執行;加上AUTHID CURRE
沒有AUTHID CURRENT_USER表示定義者權限(definer rights),以定義者身份執行;加上AUTHID CURRENT_USER表示調用者權限(invoke
沒有AUTHID CURRENT_USER表示定義者權限(definer rights),以定義者身份執行;加上AUTHID CURRENT_USER表示調用者權限(invoker rights),以調用者身份執行。
例:
1. 創建兩個用戶:xxpo,xxgl
2. 在xxpo下創建一張表:xxpo_authid_test
CREATE TABLE xxpo.xxpo_authid_test(ID NUMBER,NAME VARCHAR2(20));
3. 在xxpo下創建如下兩個procedure
3.1 xxpo_no_authid_test_prc:
3.2 xxpo_has_authid_test_prc:
4. 將兩個procedure的執行權限(EXECUTE)賦予xxgl:
5. 在xxgl分別調用xxpo下面的兩個procedure,查看結果:
由于我們并沒有在xxgl用戶下創建一個名為xxpo_authid_test的表,所以當我們在xxgl用戶下以調用者(xxgl)權限去執行xxpo.xxpo_has_authid_test_prc這個procedure的時候,會報表不能找到(ORA-00942)的錯誤;而以定義者(xxpo)權限去執行則不存在此問題。

,
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
Oracle之AUTHIDCURRENT_USER
Oracle之AUTHIDCURRENT_USER:沒有AUTHID CURRENT_USER表示定義者權限(definer rights),以定義者身份執行;加上AUTHID CURRENT_USER表示調用者權限(invoke 沒有AUTHID CURRENT_USER表示定義者權限(definer rights),以定義者身份執行;加上AUTHID CURRE