2013-12-12 48 views
0

當我試圖執行一個過程,我得到一個錯誤的對象是無效的&我的代碼是關於利息計算 和我的COD已參加如下PL/SQL程序錯誤:(對象無效)

crete or replace procedure cal_intr 
(P number,N number,R number) 
is 
si number(14,2); 
ci number(16,2); 
begin 
si:=(P*N*R)/100; 
ci:=power((1+R/100),N)); 
ci:=P*ci; 
dbms_output.put_line('simple intrest is'||si); 
dbms_output.put_line('coumpound interest is'||ci); 
end cal_intr; 

警告:使用編譯錯誤創建的過程。

錯誤是 SQL> exec cal_intr(1000,2,2) BEGIN cal_intr(1000,2,2);結束; ORA-06550::第1行,第7列: PLS-00905:對象HR.CAL_INTR無效 ORA-06550:第1行,第7列: PL/SQL:

位於第1行ERROR聲明忽略

+1

'克里特或替換過程cal_intr'我認爲你是一個希臘島嶼與Oracle指令混淆? ; -p – Drumbeg

+0

no please 1ce again the code is create or replace procedure cal_intr (P number,N number,R number) is si number(14,2); ci number(16,2); begin si:=(P * N * R)/ 100; (功率((1 + R/100),N)); ci:= P * ci; dbms_output.put_line('simple intrest is'|| si); dbms_output.put_line('coumpound interest is'|| ci); end cal_intr; – user3095423

+1

當您收到警告:警告:使用編譯錯誤創建的過程。您可以使用show errors(或簡稱爲「sho err」)來告訴您編譯錯誤是什麼。你會發現它比使用Stack Overflow用戶更快地觀察代碼更快。 –

回答

0

我認爲你必須在這條線太多閉幕括號

i:=power((1+R/100),N)); 

嘗試

i:=power((1+R/100),N); 

而且crete應該create明顯。

+0

oooh我不知道括號,我正在strugling ...:P感謝人反正.... :) – user3095423

0

來自:

crete or replace procedure 

到:

create or replace procedure 

+0

對不起,這是我在這裏輸入錯誤,但我輸入爲創建自己的命令行,我能夠執行一個程序進出參數,請幫助我的朋友 – user3095423