儲存過程建立表 ora-01031
寫了一個儲存過程,在裡面用create table建立表,結果發現:
ora-01031 的錯誤.
手工給當前使用者create table 的許可權,問題解決.
後來在網上發現,主要是role的角色沒有起使用,還有以下的解決辦法:
可以看到,即使擁有DBA role,也不能建立表。role在儲存過程中不可用。
--實際上,oracle給我們提供了在儲存過程中使用role許可權的方法:
--修改儲存過程,加入Authid Current_User時儲存過程可以使用role許可權。
create or replace procedure p_create_table
Authid Current_User is
begin
Execute Immediate 'create table create_table(id int)';
end p_create_table;
--再嘗試執行:
SQL> exec p_create_table;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/197458/viewspace-1026446/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用儲存過程動態建立表儲存過程
- Oracle建立儲存過程Oracle儲存過程
- SQL 建立儲存過程PROCEDURESQL儲存過程
- 在儲存過程中建立表的兩種方法儲存過程
- MySql儲存過程—2、第一個MySql儲存過程的建立MySql儲存過程
- laravel建立一個儲存過程Laravel儲存過程
- MySQL 建立儲存過程報錯MySql儲存過程
- Sql儲存過程分頁--臨時表儲存SQL儲存過程
- job中呼叫儲存過程,儲存過程使用AUTHID CURRENT_USER,還出現ORA-01031儲存過程
- SqlServer儲存過程的建立與使用SQLServer儲存過程
- MySQL儲存過程的建立和使用MySql儲存過程
- T-SQL 儲存過程建立 PDF 格式檔案(報表)SQL儲存過程
- ORACLE儲存過程中建立子過程的測試!Oracle儲存過程
- 一個根據已有表結構來建立新表的儲存過程儲存過程
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- 建立儲存過程編譯無效物件儲存過程編譯物件
- MySQL 5.5 建立儲存過程和函式MySql儲存過程函式
- mysql 儲存過程 procedure 批次建表MySql儲存過程
- 儲存過程儲存過程
- Oracle:建立JOB定時執行儲存過程Oracle儲存過程
- db2刪除已經儲存的表儲存過程DB2儲存過程
- MySQL 儲存過程進行切換表MySql儲存過程
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- MySQL儲存過程詳解 mysql 儲存過程linkMySql儲存過程
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- 儲存過程與儲存函式儲存過程儲存函式
- Oracle儲存過程Oracle儲存過程
- 使用儲存過程儲存過程
- sybase儲存過程儲存過程
- java儲存過程Java儲存過程
- 管理儲存過程儲存過程
- 呼叫儲存過程儲存過程
- mysql 儲存過程MySql儲存過程
- SQLSERVER儲存過程SQLServer儲存過程
- 實戰儲存過程排程過程儲存過程
- 在儲存過程A中呼叫儲存過程B的結果儲存過程
- 從sybase的儲存過程轉向oracle的儲存過程儲存過程Oracle
- PostgreSQL獲取建表語句儲存過程SQL儲存過程