當前位置:首頁 » 存儲配置 » 存儲過程ora00900

存儲過程ora00900

發布時間: 2023-06-14 01:53:47

A. 錯誤ora 00900 06512

可能是沒有許可權。雖然當前用戶執行語句是有許可權的,但是放到存儲過程中就必須要顯式的賦個許可權給當前用戶。以下參考
【IT168 技術文檔】我們知道,用戶擁有的role許可權在存儲過程是不可用的。如:

sql> select * from dba_role_privs where grantee='SUK';

GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE
------------ ------------ ------------ ------------
SUK DBA NO YES
SUK CONNECT NO YES
SUK RESOURCE NO YES

--用戶SUK擁有DBA這個role

--再創建一個測試存儲過程:
create or replace procere p_create_table
is
begin
Execute 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: 在"SUK.P_CREATE_TABLE", line 3
ORA-06512: 在line 1

--可以看到,即使擁有DBA role,也不能創建表。role在存儲過程中不可用。
--遇到這種情況,我們一般需要顯式進行系統許可權,如grant create table to suk;
--但這種方法太麻煩,有時候可能需要進行非常多的授權才能執行存儲過程
--實際上,oracle給我們提供了在存儲過程中使用role許可權的方法:
--修改存儲過程,加入Authid Current_User時存儲過程可以使用role許可權。
create or replace procere 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;

PL/SQL procere successfully completed

--已經可以執行了。

B. ORA-00900: 無效 SQL 語句

帖這東西沒用
把你那個sql貼出來

-----------
String sql = "intsert into students values(?,?,?,?)";
你這幾個問號是什麼啊?是參數也沒參數,光插問號的話類型可能還不符合呢

C. 存儲過程一直報錯 但是編譯成功了 也沒有錯 調用時一直不成功報錯

下面是問題:
Oraclede 環境中,客戶那邊提出,執行存儲過程時出錯,信息:DBCustomException: ORA-00900: invalid SQL statement

關於這個問題之前也遇到過,一直找不到原因,沒解決,時好時壞,,由於客戶大部分是SQL Server,也就沒太在意,現在終於麻煩來了。

我用自己創建的用戶,通過P/L SQL 登陸,執行以下語句
--創建表
 create table ttt
 (
    aa varchar(20)
 )
 
 --創建存儲過程
 CREATE OR REPLACE PROCEDURE   myproc  
  AS  BEGIN  
  select * from ttt;
 END 
 --執行
 exec myproc 

執行存儲過程時,開始報錯:ORA-00900:無效SQL語句 (上面那個錯誤的中文版-_-!)
這時候看右邊的存儲過程如下,有個紅叉,

熱點內容
隨機啟動腳本 發布:2025-07-05 16:10:30 瀏覽:535
微博資料庫設計 發布:2025-07-05 15:30:55 瀏覽:31
linux485 發布:2025-07-05 14:38:28 瀏覽:310
php用的軟體 發布:2025-07-05 14:06:22 瀏覽:760
沒有許可權訪問計算機 發布:2025-07-05 13:29:11 瀏覽:436
javaweb開發教程視頻教程 發布:2025-07-05 13:24:41 瀏覽:723
康師傅控流腳本破解 發布:2025-07-05 13:17:27 瀏覽:246
java的開發流程 發布:2025-07-05 12:45:11 瀏覽:696
怎麼看內存卡配置 發布:2025-07-05 12:29:19 瀏覽:288
訪問學者英文個人簡歷 發布:2025-07-05 12:29:17 瀏覽:837