日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Authid current_user的用法

發布時間:2024/8/26 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Authid current_user的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Authid Current_User:以執行過程的用戶的權限來處理涉及的對象權限.?

這是典型的,數據庫中只創建一個存儲過程,所有用戶都可以使用,但是每個用戶使用的時候 只是用自己的權限權限執行,oracle自己的包很多都這樣的。?

存儲過程默認是用定義者definer 的身份調用的,如果加上AUTHID CURRENT_USER,則用當前登陸的用戶權限調用,如果該過程的調用者(而非定義者)被授與系統權限execute any procedure或是被該過程的定義者grant execute on授權的話,不用這個AUTHID CURRENT_USER子句,調用者照樣可以使用這個過程。?
另外,在Oracle的存儲過程中,如果涉及到操作不同schema下的對象的時候,可以在不同的schema下寫相同的procedure,但這樣帶來的問題是維護和同步帶來了麻煩,可以在procedure中加上authid current_user,來說明procedure中操作的對象是當前連接用戶的對象而并不是procedure所屬用戶下的對象。?

一個例子

引用:
create or replace procedure pr_mv is?
begin?
DBMS_MVIEW.REFRESH('mv_xx');?
end;



存儲過程中調用,test存儲過程時會提示:ora-01031 權限不足?

這里是調用者對這個MV的權限可能不夠,

引用:
create or replace procedure pr_mv?
authid current_user??is?
begin?
DBMS_MVIEW.REFRESH('mv_xx');?
end;?



這樣就OK

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Authid current_user的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。