首頁| 新聞| 娛樂| 游戲| 科普| 文學| 編程| 系統| 數據庫| 建站| 學院| 產品| 網管| 維修| 辦公| 熱點
示例如下:
SQL> select * from dba_role_PRivs where grantee='TEST';GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE------------ ------------ ------------ ------------TEST DBA NO YES--用戶擁有DBA這個role--再創建一個測試存儲過程:create or replace procedure p_create_table isbeginExecute Immediate 'create table create_table(id int)';end p_create_table;--然后測試SQL> exec p_create_table;begin p_create_table; end;ORA-01031: 權限不足ORA-06512: 在"TEST.P_CREATE_TABLE", line 3ORA-06512: 在line 1
--大家可以看到,即使擁有DBA role,也不能創建表。role在存儲過程中不可用。
--遇到這種情況,我們一般需要顯式進行系統權限,如grant create table to test;
--但這種方法太麻煩,有時候可能需要進行非常多的授權才能執行存儲過程
--實際上,Oracle給我們提供了在存儲過程中使用role權限的方法:
--修改存儲過程,加入Authid Current_User時存儲過程可以使用role權限。
create or replace procedure p_create_table Authid Current_User isbeginExecute Immediate 'create table create_table(id int)';end p_create_table;--再嘗試執行:SQL> exec p_create_table;PL/SQL procedure successfully completed
練就火眼金睛 十一種常見電腦
打印機共享提示“操作無法完成
如何查找有故障的配件
回眸一笑百魅生,六宮粉黛無顏色
歲月靜美,剪一影煙雨江南
蕪湖有個“松鼠小鎮”
小滿:小得盈滿,一切剛剛好!
一串串晶瑩剔透的葡萄,像一顆顆寶石掛在藤
正宗老北京脆皮烤鴨
人逢知己千杯少,喝酒搞笑圖集
搞笑試卷,學生惡搞答題
新聞熱點
疑難解答
圖片精選
6類網線的完美接法
使用VMM2008 R2管理Hyper-V之1-實
開機黑屏與內存的原因導致DDR2內存
Lua中基本的數據類型、表達式與流
網友關注