sqlplus編譯存儲過程
在plsql developer的sql window中看執行錯誤是不準確的,要在proceres目錄下找這個過程,右鍵edit或者view打開,然後編譯(F8)就會出現錯誤了。
再說說你錯的地方。
你把入參的名字改成了EMP_IDDDD,那麼就需要修改過程中所有入參出現的位置,都改成統一的EMP_IDDDD。否則會提示,未定義EMP_ID(因為原來的入參名已經改變了,編譯器會認為EMP_ID不存在)。
還有你這個過程有點問題,過程中沒有DML操作(insert、update、delete操作),不需要commit。
希望對你有幫助。
B. PLSQL修改了存儲過程如何編譯保存
如果是在plsql developer中修改的,可以直接點那個齒輪圖標,或者F8即可編譯。
如果是在sqlplus中,那就敲入修改後的過程代碼(create or replace procere...),最後以/結尾運行即可。
C. Oracle有沒有命令可以編譯存儲過程
sqlplus有相關的了命令:比如alter procere prodere_name compile;
第一次編譯的時候只要在後面加一個/當做執行符號,那麼就可以進行編譯。
D. oracle sql/plus中執行存儲過程
因為有輸出參數,所以只能通過declare塊執行,如下:
declare
聲明變數,就是CodeType 、input_code、cu_patient ,可對前兩個直接賦值
begin
GetSampleInfo(CodeType, input_code,cu_patient) ;
end;
/
----
多動動手!如果沒輸出參數可以直接"exec 過程名(參數)"調用,否則就按我說的做,自己往裡添加代碼就行
E. sqlplus中怎麼執行帶參數的存儲過程
SQL> create or replace procere jl_test
2 (a in varchar2,b out varchar2)
3 as
4 begin
5 b:= a;
6 end;
7 /
SQL> var c varchar2(10);
SQL> exec jl_test('01',:c)
PL/SQL 過程已成功完成。
SQL> print c
C
--------------------------------
01
F. plsql編譯存儲過程
字元轉日期也不是你那種用法啊,應該用to_date,最後改成如下這樣:
1
executeimmediate 'delete from car where underwriteenddate> to_date(''2017-05-07'',''yyyy-mm-dd'')';
G. sqlplus創建存儲過程腳本不生效
創建過程中有語法錯誤。
在存儲體中每條SQL語句都是以分號結尾的,而在SQL控制台中在執行腳本時,一遇到分號就會執行SQL語句,這樣的話若是該條語句並不是正確的執行語句的話,那麼就會報錯。
H. 在oracle sqlplus 中怎麼編輯,保存和運行 pl-sql的存儲過程,函數什麼的
編輯不太好編輯,畢竟那個頁面一點也不靈活
建議在文本上打好你要運行的東西,然後粘貼到sqlplus上
如果你粘貼不了,建議你用cmd模式進入sqlplus
至於保存
你create後自動就保存到資料庫中了,不知道你說的保存是什麼意思
執行的話,這個得看你寫的存儲過程和函數是什麼樣的了,不同的存儲過程和函數執行的方式也有區別呀