1. plsql developer 編輯存儲過程 未響應
這事我也遇到過,尤其是create or replace procere的時候
樓上說的不對,即使有循環,跟編譯的時候也沒什麼關系,後來換工具也不行
最後不知不覺就好了,如果你著急測試的話
把存儲過程的名字改一個,先測試一下,然後嘗試重啟資料庫,不知道你資料庫是本地的還是遠程的,如果遠程不方便重啟的話看看有沒有長時間佔用資源的sql,也就是你這個存儲過程有關的,KILL掉
2. oracle 存儲過程 執行、調用不成功 求高手指導
1)存儲過程創建有語法錯誤,編譯應該不能通過。明顯的
update students set STUDENT_AGE = 10
後面少了分號(;),因此調用不成功沒有什麼奇怪的。
2)沒有出入參的存儲過程執行通過exec update_students;來實現的,也可以
begin
update_students;
end;
/
來執行
3. oracle存儲過程編譯總是通不過,報錯,源代碼和報錯如下。
沒錯誤啊,可以編譯.
SQL> create or replace procere print_n(the_time in integer,chr in char default('-'))
2 is
3 begin
4 for i in 1..the_time loop
5 dbms_output.put(chr);
6 end loop;
7 dbms_output.put('');
8 end print_n;
9 /
Procere created
4. oracle存儲過程 處於無效狀態
1、你的存儲過程有錯誤,編譯不通過。處理於無效狀態。
2、問題
存儲過程中隱式游標的select語句必須要有into子句。
而select*fromtemp_syckzl_zy這是一個沒有意義的語句;
應改為如:selectcol1intov_col1fromtemp_syckzl_zy;
註:col1為表中一欄位,v_col1為一變數
5. oracle 存儲過程無法執行
你的procere name有問題吧。
createorreplaceprocerecheck1
AuthidCurrent_Useris
vn_ctnnumber(2);
應該這樣:
createorreplaceprocerecheck1_Authid_Current_Useris
vn_ctnnumber(2);
6. ORACLE 存儲過程無法編譯,編譯就卡死
你怎麼查的鎖?v$locked_object?dba_ddl_locks查了沒,可能是ddl的鎖,如果不能編譯,一編譯就死,也可能是ddl的鎖導致的,以前碰到過。如果能找到鎖,那就簡單了。
不過還碰到過一種特別扯淡的情況,關掉自己的連接,然後換一台電腦從新來過,就OK了,這種情況也碰到過。
7. plsql編譯存儲過程卡死
1、查看一下Oracle資料庫中的正在運行的進程是否正在運行該程序,如果有的話把進程停止
2、全部關閉重開或者換一個PLSQL試一下,看看是不是PLSQL本身導致的問題
3、如果都不好用先嘗試重啟一下PLSQL所在的伺服器(如果可以重啟的話)
先試試上述方法
8. oracle 存儲過程無法編譯,刪除,一旦執行該操作PLSQL就會出現未響應
存在無效對象,用plsql菜單中的工具先「編譯無效對象」