存儲過程中ORA-01031: insufficient privileges的解決方法


執行某個存儲過程時報錯:ORA-01031: insufficient privileges。

  調試存儲過程,發現在存儲過程運行到創建表的這一步時出錯,意即沒有權限創建表,但實際上執行這個存儲過程的用戶是有創建表的權限的,在網上查找同樣的錯誤信息,發現基本上都是登陸數據庫的時候報這個錯誤,並沒有執行存儲過程中報這個錯誤的案例。

  請教同事之后得到解決方法,在存儲過程中添加如下內容即可:Authid Current_User,修改后的存儲過程結構如下:

CREATE OR REPLACE PROCEDURE P_RES_F_UD_FLOW(TIME_DAY IN NUMBER) Authid Current_User AS

ERR_DESC VARCHAR2(32767);
V_SQL_ERROR VARCHAR2(32767);

BEGIN

EXECUTE IMMEDIATE 'CREATE TABLE T_RES_F_UD_FLOW_TMP_1
(
COVER_NAME VARCHAR2(200) not null,
TIME_TYPE INTEGER,
TIME_DAY NUMBER(8),
TIME_HOUR NUMBER(2),
GPRS_FLOW FLOAT,
TD_FLOW FLOAT,
WLAN_FLOW FLOAT
)
';

END P_RES_F_UD_FLOW;

 

---END;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM