2013-12-12 52 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